首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到16条相似文献,搜索用时 187 毫秒
1.
基于控制流的多线程程序的静态切片算法   总被引:3,自引:1,他引:2  
介绍一种基于控制流的多线程程序的静态切片算法, 该算法的主要思想是在构造多线程程序依赖图的同时保留程序的控制流信息, 利用这些信息能 够判断出程序中的多线程可实现路径, 从而提高多线程程序静态切片的精度和效率. 最后给出一个多线程切片的实例.  相似文献   

2.
通过分析Krinke切片算法对程序循环体内嵌套一个或多个线程结构会产生切片不精确现象,得出Krinke算法所基于的程序依赖图对线程间数据的依赖关系定义得过于粗糙,且对并发程序执行行为的合法性约束不够严格的结果.据此,提出一种新的并发程序依赖图,引入跨线程边界循环-承载数据依赖关系,并在此数据结构上改进了切片算法;引入区域化执行证据概念,进一步约束程序执行行为的合法性,并给出了添加跨线程边界循环-承载数据依赖关系的算法及新的并发程序切片算法的伪代码.实例分析与算法性能测试表明,改进的切片算法克服了Krinke算法的不精确现象,降低了时间开销,改善了算法的可伸缩性.  相似文献   

3.
通过调用栈提取当前调用上文信息,对传统的静态程序切片约简,可获得基于调用栈的程序切片,进行有效的程序调试.针对目前该切片计算需构造系统依赖图(SDG)而造成大程序分析效率较低等问题,提出相关子程序分析算法,通过仅分析程序中部分与切片标准相关的子程序,而不是所有子程序来提高分析效率,同时提出一种组合式基于调用栈的程序切片...  相似文献   

4.
结合程序切片技术,文中提出了一种基于函数依赖图的构件抽取方法.先讨论函数依赖图中的几种依赖关系及其表示方法,再对由源码分析所得的函数依赖图进行切片操作得到依赖子图,并结合源码生成最终切片代码,即为构件抽取的结果.此基础上,提出一种基于函数依赖图的内聚度和耦合度的计算方法,以便从软件度量的角度来评价切片代码(构件)的质量.实验表明利用文中的构件抽取方法生成的切片代码较精简,且具有较高的运行效率.  相似文献   

5.
本论文在介绍了程序语义差异的重要性的基础上,详细描述了目前所存在的几种计算语义差异的方法,分别是:基于程序切片的方法,分割方法,输入输出依赖关系法和基于抽象语义图的方法,并且在研究这些方法的基础上比较了他们各自的优缺点。  相似文献   

6.
程序切片是一种程序分析方法,在软件的理解、调试、维护、测试以及逆向工程中发挥中着重要的作用.Web应用程序的编码特性与传统程序有着较大的区别,因此,传统的切片方法难以适用.在分析Web应用程序语句特征的基础上,定义了由页面引起的Web页面间的各种依赖关联,并构建了Web应用结构依赖图WAStrDG.基于WAStrDG所实现的Web结构切片算法有助于获取Web结构层次的信息,可以有效提高Web的测试和维护效率.  相似文献   

7.
提出在PASCAL抽象实现结构图上,采用数据流方程算法实现程序切片的自动化.该方法将过程蓝图的抽象实现结构图引入静态过程内切片领域,实现了程序表示形式与程序切片处理形式的统一,避免了传统方法产生控制流图的需要,简化了切片处理过程,提高了切片处理效率,并直观地反映了切片后的程序变化.  相似文献   

8.
一种应用代价评估的推测多线程路径预测方法   总被引:1,自引:0,他引:1  
推测多线程技术对于自动并行化非规则程序是有效的,然而基于控制流图和分支预测方法的线程划分方法,不可避免地受到划分路径上存在的控制依赖和数据依赖制约.针对现有的路径预测方法在考虑控制依赖影响的同时却不能有效地综合考虑数据依赖影响的问题,提出一种新的基于代价评估的路径预测方法,通过引入数据依赖模型,综合评估控制和数据依赖两种影响因素,寻求一条具有近似最小推测开销的推测划分路径.实验结果表明,文中提出的路径预测方法能够计算出代价更小的推测划分路径,并取得了更好的加速比性能,总体上系统可以得到2.43%的加速比性能提升.  相似文献   

9.
针对中间码中水印信息抗逆向工程差的问题,提出基于动态程序切片的软件水印方案,利用动态程序切片技术将系统分割为隐秘部分与公开部分,然后改变交互模块间数据依赖关系嵌入水印信息,记录执行历史中的数据依赖关系提取水印信息,恢复隐秘部分复杂性实验证明算法对逆向工程攻击是鲁棒的;系统分割前后的运行时间对比实验证明算法对系统效率的影响在合理范围内,隐秘部分放在安全主机中确保水印系统的安全性,该方案适用于对移动计算与分布式软件进行保护。  相似文献   

10.
面向对象模型语言MOOL静态切片系统的实现   总被引:1,自引:0,他引:1  
以一种自定义的模型面向对象语言MOOL为例, 采用分层切片和逐步求精的混合算法, 使用Perl语言设计并实现了一个完整的MOOL静态切片工具MST.实验结果表明, 切片后的程序更加简化, 对调试程序有一定的辅助作用.  相似文献   

11.
The existing slicing algorithms do not consider parameterized types in generic programs, so they are not suitable for generic programs. To solve this problem, this paper presents a generic system dependence graph for Java generic programs based on the traditional system dependence graph to express dependences for parameterized type information. A novel slicing criterion and slicing algorithm for generic programs is proposed. The slices computed by the algorithm can help to understand relations between concepts and types for generic programs and can express the features of generic programs better. Biography: CHEN Lin (1979–), male, Ph.D. candidate, research direction: program analysis and refactoring.  相似文献   

12.
The program slicing technique is employed to calculate the current values of the variables at some interest points in software test data generation. This paper introduces the concept of statement domination to represent the multiple nests, and presents a dynamic program slice algorithm based on forward analysis to generate dynamic slices. In the approach, more attention is given to the statement itself or its domination node, so computing program slices is more easy and accurate, especially for those programs with multiple nests. In addition, a case study is discussed to illustrate our algorithm. Experimental results show that the slicing technique can be used in software test data generation to enhance the effectiveness.  相似文献   

13.
程序分片在程序理解、调试、维护、测试和集成等许多领域都有广泛的应用.过程间的程序分片是分片技术的难点之一.在总结了现有的过程间分片技术基础之上,重点介绍了具有代表性的图形可达性算法.  相似文献   

14.
Dynamic program slicing is an effective technique for narrowing the errors to the relevant parts of a program when debugging. Given a slicing criterion, the dynamic slice contains only those statements that actually affect the variables in the slicing criterion. This paper proposes a dynamic slicing method based on static dependence analysis. It uses the program dependence graph and other static information to reduce the information needed to be traced during program execution. Thus, the efficiency is dramatically improved while the precision is not depressed. The slicing criterion is modified to fit for debugging. It consists of filename and the line number at which the statement is.  相似文献   

15.
张静  林淑飞 《科学技术与工程》2007,7(9):2092-20942097
XML文件作为一种数据存储与数据交换的文件,其应用日益广泛,但目前对于信息量大、结构复杂的文档要获取其中有用信息的操作效率较低。现提出一种新的基于程序切片技术对XML文档进行切片的方法。对给定的XML文档,可根据给定的切片规则对文档进行切片,从而得到一个用户感兴趣信息集合的新XML文档。同样,也可以对给定的XML文档对应的DTD或XML模式文档进行切片,根据给定的切片规则生成新的DTD或XML模式文档切片,同时,也会生成对应的XML文档切片,且切片获得的新文档是符合新的DTD或XML模式规范的有效文档。  相似文献   

16.
The popular single-factor complexity measure cannot comprehensively reflect program complexity and the existing hybrid complexity measure cannot express the interactive behaviors of programs. To treat these problems, in this paper, we propose a complexity measure based on program slicing(CMBPS). CMPBS not only can evaluate factors which affect program complexity such as the length of the program, control flow, data flow and data types of output variables, but also can give expression of the interactive relation between programs. And we also prove that CMBPS satisfies all of Weyuker properties. Compared with the popular complexity measures, CMBPS is a well-structured complexity measure.  相似文献   

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

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