基于时态图的软件变更影响分析方法研究
发布时间:2020-03-26 08:16
【摘要】:软件开发过程包括需求分析、系统设计、编码和测试等多个阶段,而软件变更可以出现在软件开发的各个阶段中,当某一实体发生变更时,会直接或间接影响其他实体也发生变更。一个优秀的软件变更影响分析方法可以极大地降低软件开发成本,对于整个软件系统开发是非常重要的。本文通过分析当前软件变更影响分析方面的研究,总结出它们普遍存在的四大局限性,即范围局限、实体局限、联系局限以及时态局限,而后通过多种手段解决这些局限性,提出了一种基于时态图的软件变更影响分析方法。本文提出的方法是在联合范围上的分析方法,它涵盖了软件开发的全过程,它是基于数据库记录的过程级别的细粒度的动态变更影响分析。该方法站在基于规则的方法视角,建立了实体依赖图,可以很好的解决范围、实体以及联系局限;而后为了解决时态局限,将静态的实体依赖图升级为时态实体依赖图;在基本解决四大局限的情况下,本文又考虑到变更影响分析应该可以标识出实体受影响的程度,因此又在时态实体依赖图的基础之上,用权值标识程度,提出加权时态实体依赖图;最后为了模型和分析技术的持久性,为了能使得变更影响分析效率随着历史记录增加而越来越快速,引入多层网络的思想,提出拥有三层结构的变更影响分析模型。我们的模型不仅具备诸多便利条件,还可以对技术增加扩展内容,比如本文增加的影响程度计算。本文设计出相应的算法来实现变更影响分析模型,并以此为基础又设计出基于规则的影响传播追踪算法和影响程度计算算法。最后通过实验验证出算法的效果,以及时态图的优越性。
【图文】:
如果忽略表3.3中的所有时态信息,我们可以根据实体及其依赖关系构建的实逡逑体依赖图。这其中,为每个实体都创建一个对应的节点,为每组依赖关系都创建逡逑对应的关系边,边的方向与依赖关系的方向相同。最后得到的实体依赖图如图3.1逡逑所示。逡逑Es\邋REF邋Et邋<邋USE邋f邋E2X逡逑^逡逑COT逦REF逡逑x逦Jl逡逑e6邋)逦E7邋4邋USE邋?邋e4逡逑,\逦Y逡逑COT逦USE邋Evd逦COF逡逑l/逦\|逡逑(V:逦USE邋^Es)逡逑图3.邋1静态实体依赖图示例逡逑Fig.邋3.1邋Sample邋of邋Static邋Entity邋Dependency邋Graph逡逑图3.1能够使我们为每个节点以及整体的图计算出许多不同的指标。例如,我逡逑们可以考虑用每个节点的中心性作为解释我们数据的一种机制。但是,我们指出逡逑这个表己经忽略了表3.3中所有可用的时态信息,例如实体自身的软件生命周期,逡逑-21-逡逑
图3.2时态实体依赖图示例逡逑Fig.邋3.2邋Sample邋of邋Temporal邋Entity邋Dependency邋Graph逡逑容易看出,时态实体依赖图(图3.2)相对静态实体依赖图(图3.1)来说有逡逑更多的关于表3.3中的实体依赖关系的信息,并且更具准确性。例如,在[〖6九4)中逡逑的某个时刻里,从E3出发的路径只有E3E8,而静态实体依赖图(图3.1)除了邋E3E8逡逑还多出了一条路径E3E7E8,这显然是不正确的,因为t6时刻以后实体氏的软件生逡逑命周期以及£疋7和E7E8两条边的有效时间已经结束,也就是说E3E7和E7E8这两逡逑条路径己经不存在了。逡逑3.3变更影响分析模型逡逑3.3.1加权时态实体依赖图逡逑以上构建的加权时态实体依赖图可以很好的处理各种局限问题,然而针对软逡逑件变更影响分析,我们不仅需要解决这些局限问题,还需要能够标识出实体受影逡逑响的情况,因此为了更好的进行变更影响分析,,我们需要在时态实体依赖图中为逡逑每条关系边加入相应的权值
【学位授予单位】:大连海事大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52
本文编号:2601186
【图文】:
如果忽略表3.3中的所有时态信息,我们可以根据实体及其依赖关系构建的实逡逑体依赖图。这其中,为每个实体都创建一个对应的节点,为每组依赖关系都创建逡逑对应的关系边,边的方向与依赖关系的方向相同。最后得到的实体依赖图如图3.1逡逑所示。逡逑Es\邋REF邋Et邋<邋USE邋f邋E2X逡逑^逡逑COT逦REF逡逑x逦Jl逡逑e6邋)逦E7邋4邋USE邋?邋e4逡逑,\逦Y逡逑COT逦USE邋Evd逦COF逡逑l/逦\|逡逑(V:逦USE邋^Es)逡逑图3.邋1静态实体依赖图示例逡逑Fig.邋3.1邋Sample邋of邋Static邋Entity邋Dependency邋Graph逡逑图3.1能够使我们为每个节点以及整体的图计算出许多不同的指标。例如,我逡逑们可以考虑用每个节点的中心性作为解释我们数据的一种机制。但是,我们指出逡逑这个表己经忽略了表3.3中所有可用的时态信息,例如实体自身的软件生命周期,逡逑-21-逡逑
图3.2时态实体依赖图示例逡逑Fig.邋3.2邋Sample邋of邋Temporal邋Entity邋Dependency邋Graph逡逑容易看出,时态实体依赖图(图3.2)相对静态实体依赖图(图3.1)来说有逡逑更多的关于表3.3中的实体依赖关系的信息,并且更具准确性。例如,在[〖6九4)中逡逑的某个时刻里,从E3出发的路径只有E3E8,而静态实体依赖图(图3.1)除了邋E3E8逡逑还多出了一条路径E3E7E8,这显然是不正确的,因为t6时刻以后实体氏的软件生逡逑命周期以及£疋7和E7E8两条边的有效时间已经结束,也就是说E3E7和E7E8这两逡逑条路径己经不存在了。逡逑3.3变更影响分析模型逡逑3.3.1加权时态实体依赖图逡逑以上构建的加权时态实体依赖图可以很好的处理各种局限问题,然而针对软逡逑件变更影响分析,我们不仅需要解决这些局限问题,还需要能够标识出实体受影逡逑响的情况,因此为了更好的进行变更影响分析,,我们需要在时态实体依赖图中为逡逑每条关系边加入相应的权值
【学位授予单位】:大连海事大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52
【参考文献】
相关期刊论文 前6条
1 孙小兵;李斌;陈颖;李必信;文万志;;软件修改影响分析研究与进展[J];电子学报;2014年12期
2 原子;于莉莉;刘超;;面向细粒度源代码变更的缺陷预测方法[J];软件学报;2014年11期
3 刘华哠;金英;马鹏飞;;一种需求变更影响分析方法[J];计算机研究与发展;2013年08期
4 陶传奇;李必信;Jerry GAO;孙小兵;;基于模型的构件软件修改影响分析[J];软件学报;2013年05期
5 孙小兵;李必信;陶传奇;;基于LoCMD的软件修改分析技术[J];软件学报;2012年06期
6 张莉;钱冠群;李琳;;基于变更传播仿真的软件稳定性分析[J];计算机学报;2010年03期
本文编号:2601186
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2601186.html