首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 93 毫秒
1.
程序切片作为软件理解领域的一种重要的分析技术,可以将程序分解为独立的程序线程。系统依赖图的概念及两阶段图形可达性算法的出现,则有效解决了程序切片的过程调用问题。文章介绍了程序切片的基本概念,并给出了在面向对象程序中进行静态分层切片的思想。作为分层切片思想的应用,文章给出了在一种Java程序切片工具模型JSTM(JavaSlicingToolsModel)中运用系统依赖图进行方法内切片的具体算法。  相似文献   

2.
程序可以看作由很多计算组成(例如一个循环或一个平直代码片断),它们彼此相关或者无关,共同为计算最终的结果服务,其中彼此不相关的计算是并行性的重要来源。程序切片(Program Slicing)是一种程序分解技术,能够根据切片标准从程序中提取出特定的计算,切片技术的应用很广泛,例如程序调试、理解、维护等软件工程应用。切片技术作为一项程序分解技术,也可以用来帮助串行程序并行化。研究利用切片技术表示和发掘程序中的无关计算带来的并行性。首先提出一种基于OpenMP扩展的切片并行编程模型,用以表达程序中的切片并行性。另外,开发了一个基于切片的并行化分析系统,用来辅助程序员发掘程序中的切片并行性。  相似文献   

3.
一种分析和理解程序的方法--程序切片   总被引:21,自引:0,他引:21  
程序切片是一种分析和理解程序的技术,是通过对源程序中每个兴趣点分别计算切片来达到对程序的分析和理解。程序中某个兴趣点的程序切片不仅与该点定义和使用变量有关,而且与影响该变量的值的语名和谓词以及受该变量的值影响的语名的谓词有关。文中详细阐述了程序切片技术的研究与进展情况,并对目前存在各种程序切片方法和工具进行了比较;简单介绍了文中提出的面向对象的分层切片方法及其算法的思想;最后分析了程序切片技术目前  相似文献   

4.
陈永郑  李龙澍 《微机发展》2007,17(12):113-115
软件测试是软件开发过程的一个重要组成部分,是进行软件有效性检查、提高软件质量的重要手段。随着软件规模的不断增大、复杂度的不断提高,传统的软件测试技术在处理大规模复杂软件系统时会出现许多问题。程序切片是一种程序分解术,主要是通过寻找程序内部的相关性来分解程序,从而达到快速错误定位或理解程序的目的。主要探讨将程序切片技术引入到软件测试中,尤其是分析在回归测试中切片方法是如何提高效率的。  相似文献   

5.
软件测试是软件开发过程的一个重要组成部分,是进行软件有效性检查、提高软件质量的重要手段。随着软件规模的不断增大、复杂度的不断提高,传统的软件测试技术在处理大规模复杂软件系统时会出现许多问题。程序切片是一种程序分解术,主要是通过寻找程序内部的相关性来分解程序,从而达到快速错误定位或理解程序的目的。主要探讨将程序切片技术引入到软件测试中,尤其是分析在回归测试中切片方法是如何提高效率的。  相似文献   

6.
程序切片是一种重要的程序分析技术,广泛应用于程序的调试、测试与维护等领域。面向方面程序设计作为一种新的软件开发范型,能够实现横切关注点的模块化,其特有的语言元素和功能为切片增加了难度。从静态切片和动态切片两种类型,讨论了面向方面程序切片技术。在此基础上,提出了一种基于简化动态依赖图的面向方面程序切片方法,可以减少动态依赖图中节点和边的数量,生成准确的面向方面程序的动态切片,从而有助于人们更好地对面向方面程序进行分析和理解。  相似文献   

7.
将程序切片技术引入到过程模型中,定义过程模型中的关联关系和数据连接关系,在此基础上给出了过程模型的切片定义,并定义了过程模型的三种切片:前向切片,后向切片和双向切片,提出了前向切片、后向切片和双向切片的算法,最后通过实例分析证明了该算法的可行性和实用性。  相似文献   

8.
动态程序切片技术是一种重要的程序分析技术,在软件分析、测试与调试过程中有着广泛的应用。给出一种基于前向计算的动态程序切片方法,该方法首先在对当前执行语句进行定义使用分析的基础上计算该语句定义变量的影响集,其次计算该语句的直接动态依赖关系,最后计算当前执行语句中变量的动态切片。根据该方法设计并实现了一个Java动态程序切片系统,基于一组基准测试程序开展了切片实验,并与已有的切片方法进行了比较。实验结果表明,该方法可以得到比较精确的动态程序切片结果。  相似文献   

9.
程序切片技术的研究与应用   总被引:6,自引:1,他引:5  
软件逆向工程和维护通常是一种繁复的任务,它需要对程序的大量阅读,透切理解,耗费大量的人力物力。正是基于这种情况,产生了大量有关程序理解的技术,而程序切片技术是其中比较突出的一种。程序切片技术(Program slicing)最早由MarkWeiser提出,他论述了通过遍历程序依赖图(ProgramDependence Graph,PDG)得到过程内切片(intrapro cedural slice)的技术。此后,Horwitz通过将PDG扩展为系统依赖图(System Dependence Graph,SDG)从而  相似文献   

10.
一种面向对象程序的分层切片方法   总被引:8,自引:0,他引:8  
李必信  刘小东  郑滔  李宣东  郑国梁 《软件学报》2001,12(12):1810-1817
程序切片是一种程序分析技术,广泛应用于程序的调试、测试、理解和维护等软件开发的各个阶段.在研究静态类型面向对象的程序切片时发现,利用系统依赖图计算程序切片虽然是一种有效的方法,但构造OO程序的系统依赖图是一件非常复杂的工作,而且构造过程中容易出错,这会导致切片的结果不正确,造成前功尽弃.为此,从程序逻辑分层的角度提出一种OO程序的层次模型,然后在OO程序的层次模型基础上采用逐步求精算法来分层计算OO程序的切片.  相似文献   

11.
用Z形式化描述程序切片   总被引:1,自引:0,他引:1  
程序切片是一种重要技术,已广泛地应用于软件工程的各个领域,如程序理解、维护、调试、测试、复用、度量等.虽然,越来越多的研究者致力于程序切片工作,然而由于缺少形式化方面的工作导致程序切片可能存在不一致性和模糊性.本文尝试着用Z语言来形式化描述程序切片,考虑了程序切片中诸如程序依赖图和程序切片算法等常用的方面.该形式化描述不仅能帮助人们正确地理解程序切片的含义,而且还能够从比较严格的意义上明确程序切片的应用领域.  相似文献   

12.
基于依赖性分析的UML状态图切片技术   总被引:1,自引:0,他引:1       下载免费PDF全文
将UML状态图、程序切片和软件测试技术三者结合起来,生成基于依赖性分析的UML状态图切片,为软件测试中待测试的程序的理解、发现和修改错误提供了一种方法。最后运用实例讨论了该切片方法的实用性,应用于回归测试中具有较高的效率。  相似文献   

13.
周婕  慕晓冬  王杰 《微机发展》2006,16(7):20-22
程序切片是一种程序分析技术,它主要应用在程序的调试和逆向工程。文中介绍了笔者设计并实现的一个C 程序切片系统。其中包括系统的总体框架,系统中使用的数据结构以及切片生成算法。本系统已经成功应用到了X型导弹指挥软件的故障诊断中。  相似文献   

14.
基于数据切片度量JAVA内聚性   总被引:1,自引:0,他引:1  
李必信  朱平  谭毅  李宣东  郑国梁 《软件学报》2001,12(12):1851-1858
面向对象的程序切片在程序分析、程序理解、软件测试和调试以及软件维护方面有着广泛的用途.首先建立了抽象数据切片和类内切片的概念,然后基于这两种切片讨论了JAVA语言中存在的内聚问题,通过分析这些切片与数据、方法、类之间的关系来度量数据、方法以及类的内聚性问题.  相似文献   

15.
一种精简二进制代码的程序理解方法   总被引:3,自引:0,他引:3  
李卷孺  谷大武  陆海宁 《计算机应用》2008,28(10):2608-2612
精简二进制代码形式的软件是软件分析和程序理解需要处理的一类具有代表性的对象,基于高级语言源代码和调试符号信息的传统分析方法在处理此类软件时受到了极大限制。提出一种精简二进制形式软件的理解方法,首先将分析对象转变为运行期进程,引入实际运行中的进程信息;然后引入程序的行为特征,以程序表现出的外在行为和对外接口作为辅助信息,将此类外部特征映射到程序代码;最后基于切片思想和调试技术,获得程序切片并分析。这种方法为分析理解过程扩展了信息量,降低了复杂度,解决了分析此类软件时信息缺失和难以建立理解模型的问题。  相似文献   

16.
对于遗产软件的理解和维护在软件研究领域中已经变得越来越重要,综述了程序理解的策略及工具,引入了程序切片的思想,并在此基础上对传统的切片方法进行改进以更好地完成程序理解的任务。  相似文献   

17.
程序切片技术是辅助程序理解的一种重要手段,其核心思想是分而治之。借鉴程序切片核心思想,引入了类切片的概念,并给出了基于进程边界的类切片生成方法,并对该方法进行了系统的实验研究。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号