共查询到14条相似文献,搜索用时 67 毫秒
1.
基于控制流的多线程程序的静态切片算法 总被引:2,自引:1,他引:2
介绍一种基于控制流的多线程程序的静态切片算法, 该算法的主要思想是在构造多线程程序依赖图的同时保留程序的控制流信息, 利用这些信息能
够判断出程序中的多线程可实现路径, 从而提高多线程程序静态切片的精度和效率. 最后给出一个多线程切片的实例. 相似文献
2.
程序切片是一种有效的程序分析技术,它能根据给定的切片准则从源程序中提取出所需部分进行分析,如进行程序调试、测试、程序重构分析等。本文主要研究程序切片的准则以及相关算法。 相似文献
3.
通过分析Krinke切片算法对程序循环体内嵌套一个或多个线程结构会产生切片不精确现象,得出Krinke算法所基于的程序依赖图对线程间数据的依赖关系定义得过于粗糙,且对并发程序执行行为的合法性约束不够严格的结果.据此,提出一种新的并发程序依赖图,引入跨线程边界循环-承载数据依赖关系,并在此数据结构上改进了切片算法;引入区域化执行证据概念,进一步约束程序执行行为的合法性,并给出了添加跨线程边界循环-承载数据依赖关系的算法及新的并发程序切片算法的伪代码.实例分析与算法性能测试表明,改进的切片算法克服了Krinke算法的不精确现象,降低了时间开销,改善了算法的可伸缩性. 相似文献
4.
并发程序切片方法综述 总被引:1,自引:0,他引:1
随着实际应用对并发软件需求的不断增加,并发程序的应用越来越广,程序切片的研究不再仅仅局限于顺序程序,并发程序切片的研究也越来越多.但是由于并发程序执行的不确定性,并发程序切片的研究还有许多问题有待解决.文中介绍了当前主要的几种并发程序切片方法及其主要特性,并对这些切片方法进行了比较分析,结果表明并发程序切片的效率和精度都达到理想的目标是不可能的,只能是在两者之间的均衡,最后简要介绍了并发程序切片的应用. 相似文献
5.
针对中间码中水印信息抗逆向工程差的问题,提出基于动态程序切片的软件水印方案,利用动态程序切片技术将系统分割为隐秘部分与公开部分,然后改变交互模块间数据依赖关系嵌入水印信息,记录执行历史中的数据依赖关系提取水印信息,恢复隐秘部分复杂性实验证明算法对逆向工程攻击是鲁棒的;系统分割前后的运行时间对比实验证明算法对系统效率的影响在合理范围内,隐秘部分放在安全主机中确保水印系统的安全性,该方案适用于对移动计算与分布式软件进行保护。 相似文献
6.
通过调用栈提取当前调用上文信息,对传统的静态程序切片约简,可获得基于调用栈的程序切片,进行有效的程序调试.针对目前该切片计算需构造系统依赖图(SDG)而造成大程序分析效率较低等问题,提出相关子程序分析算法,通过仅分析程序中部分与切片标准相关的子程序,而不是所有子程序来提高分析效率,同时提出一种组合式基于调用栈的程序切片... 相似文献
7.
程序分片在程序理解、调试、维护、测试和集成等许多领域都有广泛的应用.过程间的程序分片是分片技术的难点之一.在总结了现有的过程间分片技术基础之上,重点介绍了具有代表性的图形可达性算法. 相似文献
8.
9.
面向对象模型语言MOOL静态切片系统的实现 总被引:1,自引:0,他引:1
以一种自定义的模型面向对象语言MOOL为例, 采用分层切片和逐步求精的混合算法, 使用Perl语言设计并实现了一个完整的MOOL静态切片工具MST.实验结果表明, 切片后的程序更加简化, 对调试程序有一定的辅助作用. 相似文献
10.
提出在PASCAL抽象实现结构图上,采用数据流方程算法实现程序切片的自动化.该方法将过程蓝图的抽象实现结构图引入静态过程内切片领域,实现了程序表示形式与程序切片处理形式的统一,避免了传统方法产生控制流图的需要,简化了切片处理过程,提高了切片处理效率,并直观地反映了切片后的程序变化. 相似文献
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.
基于信息继承的快速分层处理算法研究 总被引:8,自引:0,他引:8
分析了现有STL(STereoLithography)模型分层处理算法的优缺点,并在此基础上提出了一种基于信息继承的加快分层处理速度的算法。该算法根据三角形面片的最小z坐标建立了分层关系矩阵,利用该分层关系矩阵可大大提高搜索与分层平面相交的三角形面片的搜索效率,从而提高了分层算法的效率。该算法不但吸取了现有分层处理算法的优点,而且在计算第I层的轮廓线时,继承和充分利用了第I-1层已经有的几何邻接关系,加快了轮廓线的生成速度。实际应用表明,该算法高效,稳定,可靠。 相似文献
14.
基于一种带有标签的Java程序描述(JavaSDG),给出JavaSDG中的过程依赖图(PDG)的形式化定义,然后分析Java程序方法调用引起的参数之间的依赖关系。并比较基于SDG和基于JavaSDG两种程序分析方法的异同,基于JavaSDG的Java程序分析方法构造的PDG具有结点少、可以重用、可以并发构造等优点。 相似文献