论文部分内容阅读
依赖性分析(Dependency Analysis)是一种分析、理解和维护程序的重要手段,它反映了程序中语句、模块之间的执行顺序和相互调用关系。 自从提出依赖性分析以来,依赖性分析技术的研究、发展和应用已经经历了50多年,取得了一系列的理论成果并开展了部分实际应用。但是,纵观国内外依赖性分析方法的研究成果,不难发现,现有的依赖性分析研究多集中于代码级别的研究,缺少针对实体(Entity)的依赖性分析方法;另外,在依赖性分析过程中,时态数据(Temporal Data)的处理方法缺乏,无法合理的考虑到时态属性对实体间依赖关系的影响。而依赖图作为最常用的依赖关系表示方法,其节点与边的定义与属性计算不尽相同,且大部分方法中并没有考虑到节点与边的时态属性。 针对上述问题,本文提出了一种基于时态图的实体依赖性分析方法,结合时态数据库理论,对实体间的依赖关系进行分类,给出相应的形式化分析,对实体依赖关系的基本性质与时态性进行分析,最终将时态数据以时态图的形式展示出来,并且在时态图中对实体依赖关系进行标注。 结合复杂网络中心性度量方法,针对时态实体依赖图上节点与边的属性,提出节点中心性、节点重要性、节点依赖度与边的重要性四个重要属性,设计公式对其进行度量。 针对实体间存在的不合理依赖关系,设计子集依赖、对称依赖和回路依赖查询算法,对实体间依赖关系的合理性进行分析与处理;设计时态实体依赖图查询算法,对时态图中符合时间区间限制的实体依赖关系进行查询;并且对实体间依赖关系的演变情况进行分析。 最后,利用Maven数据集对本文提出的方法进行实验验证。实验结果表明,该方法在保证了查询效率的前提下,可以准确的查询出实体间的依赖关系,并对实体间的依赖关系进行分析,满足应用需求。