摘要
动态程序切片技术是一种重要的程序分析技术,在软件分析、测试与调试过程中有着广泛的应用。给出一种基于前向计算的动态程序切片方法,该方法首先在对当前执行语句进行定义使用分析的基础上计算该语句定义变量的影响集,其次计算该语句的直接动态依赖关系,最后计算当前执行语句中变量的动态切片。根据该方法设计并实现了一个Java动态程序切片系统,基于一组基准测试程序开展了切片实验,并与已有的切片方法进行了比较。实验结果表明,该方法可以得到比较精确的动态程序切片结果。
Dynamic program slicing is widely used in software analyzing, testing and debugging. This paper proposed a novel forward computation approach for computing dynamic slices. Firstly our approach computes the influenced set of a defined variable in current executing statement based on the defined and used variables. Secondly it computes the direct dynamic dependence relationship of current statement. Finally it computes the dynamic slice of the variables. Applying this method, we designed and implemented a dynamic program slicing prototype for Java, and performed an experimental study on several open source programs. The experimental results show that the size of program slices by our approach is less than other methods.
出处
《计算机科学》
CSCD
北大核心
2014年第1期250-253,278,共5页
Computer Science
基金
国家自然科学基金(61202006
60970032)
江苏省青蓝工程
江苏省自然科学研究项目(12KJB520014)
江苏省研究生培养创新工程(CXZZ12_0935)
南通市应用研究计划(BK2011025
BK2012023)资助
关键词
动态切片
前向计算
程序依赖性
三地址码
Dynamic slicing, Forward computation, Program dependence, Three-address code