欢迎来到天天文库
浏览记录
ID:35131862
大小:3.55 MB
页数:85页
时间:2019-03-19
《探析基于依赖性分析的程序切片技术研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、东南大学博士学位论文基于依赖性分析的程序切片技术研究姓名:陈振强申请学位级别:博士专业:计算机应用技术指导教师:徐宝文20030101摘要程序切片是一种重要的程序分析理解方法,用于从源程序中抽取对程序巾特定点上的特定变量有影响的语句和控制条什,组成新的程序(称作切片),然后通过分析切片来分析源程序的行为。二十多年来,人们对它进行了广泛而深入的研究,取得了许多研究成果,使得它在软件凋试、测试、维护、度量、程序变换、软件逆向工程与再.1~程等方面得到广泛应用,受到了广大软件研究、开发人员的高度重视。论文主要:L作包括:(1)通过对
2、切片理论的研究,一定程度上解决了当前在大型程序切片、面向列象稃序切片、井发程序切片及动态切片等方面存在的一些问题,提高了切片的效率和精确度;(2)进一步拓宽了切片技术的应用范围,将依赖性分析及程序切片技术应用于软什可测试性分析、测试覆盖率分析、类内聚度度量等方面;(3)对系统实现的若干问题进行了探索。论文一f:作的主要成果表现在以下几个方面:·对传统的依赖性分析方法进行了改进,提出了一种新的予程序依赖’
3、生分析方法。在此方法中,依赖图的计算以子程序为单位,子程序问相对独立,内部数据、语句之间的依赖关系对外不可见,仅提供参数间的
4、依赖关系作为对外接口。·为了解决目前大型程序切片效率低的问题,提出了一种渐增式依赖性分析方法,根据用户需要逐渐建立依赖图,而不是预先建立整个系统的依赖图。与此对应,我们提山了部分切片的概念,可以只对感兴趣的部分进行切片,而非针对整个程序。·为了有效描述面向对象程序的特征,提出了一种新的面向对象程序切片方法。在此方法中,类的依赖图由组成类的方法的依赖圈组成,它们与类的方法一一对应。当构建子类的依赖图时.父类的依赖图无需重建,子类直接继承其父类的依赖图。在此基础上进一步提出了一些关于对象切片、类切片、类层次切片以及类粗粒度切片的概
5、念和方法。·为了提高动态切片的追踪效率,提出了一种利用静态分析的结果来减少动态追踪的信息量方法。·为了简洁、有效地描述并发程序,提出了一种并发程序流图。基于这种表示,建立了并发程序依赖性分析模型。由于充分分析了各种并发行为,并考虑了并发和同步的语义,所构建的并发程序依赖图比已有其它方法都精确。在此基础上,提出来一种新的并发程序切片方法,它可以在多项式时间内分析得到较精确的并发程序切片。·将程序切片技术虑川于软件可测试性分析,提出了一种模块级的可测试性分析方法,使得它更能适I}{{j于黑盒测试。-提出了一种利用程序切片计算关于变
6、量测试覆盖率分析的方法,在计算覆盖率时,只考虑与这些变虽有关的代码,结果更加准确。·为_『克服了现有方法只分析某个方面的不足,提山了一种基于依赖性分析的类内聚度度量方法,并证明了它满足优良的内聚度度量方法应该具有的一
7、生质,为综合评价类内聚度提供了指南。关键词程序切片、依赖性分析、面向对象、并发、测试、可测试性、覆盖率、内聚度AbstractProgramslicingisanimportanttechniquetoanalyzeandunderstandprogramsItisusedtoextracttheprograms
8、tatementsandpredicates,whichmightinfluencethevariablesataspecialprogrmnpoint,andmakeanewprogram(calledbyslice)ThenweCallanalyzetheoriginalprogramsbyanalyzingtheslice.Dunngthelasttwentyyears,manyresearchershavedonemuchinprogramslicing,andproposedlotsofslicingmethods.
9、Nowadays,programslicinghasbeenwidelyusedinsoftwaredebugging,testing,maintenance,measure,reverseandreengineering.Theillah2researchinthispaperincludes:(1)Bytheresearchofprogramslicing,thepaperftndswaystosolvetheproblemsinlargerprogramslicing,object—orientedprogramslic
10、ing,concurrentprogramslicinganddynamicslicingtoimprovetheefficiencyandprecision;(2)Toextendtheapplicationsofdependenceanalysisandprogramsl
此文档下载收益归作者所有