计算机科学 ›› 2014, Vol. 41 ›› Issue (1): 250-253.

• 软件与数据库技术 • 上一篇    下一篇

一种基于前向计算的动态程序切片方法

王兴亚,姜淑娟,鞠小林,邵浩然   

  1. 中国矿业大学计算机科学与技术学院 徐州221116;中国矿业大学计算机科学与技术学院 徐州221116;中国矿业大学计算机科学与技术学院 徐州221116;南通大学计算机科学与技术学院 南通226019
  • 出版日期:2018-11-14 发布日期:2018-11-14
  • 基金资助:
    本文受国家自然科学基金(61202006,60970032),江苏省青蓝工程,江苏省自然科学研究项目(12KJB520014),江苏省研究生培养创新工程(CXZZ12_0935),南通市应用研究计划(BK2011025,BK2012023)资助

Dynamic Program Slicing Based on Forward Computation

WANG Xing-ya,JIANG Shu-juan,JU Xiao-lin and SHAO Hao-ran   

  • Online:2018-11-14 Published:2018-11-14

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

关键词: 动态切片,前向计算,程序依赖性,三地址码

Abstract: 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.

Key words: Dynamic slicing,Forward computation,Program dependence,Three-address code

[1] Korel B,Laski J.Dynamic program slicing[J].Information Processing Letters,1988,29(3):155-163 (下转第278页)(上接第253页)
[2] Xu Bao-wen,Qian Ju,Zhang Xiao-fang,et al.A brief survey of program slicing[J].SIGSOFT Softw.Eng.Notes,2005,30(2):1-36
[3] Abadi A,Ettinger R,Feldman Y A.Fine slicing:theory and applications for computation extraction[C]∥Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering,2012.Tallinn:Springer-Verlag,2012:471-485
[4] Zhang Xiang-yu,Gupta N,Gupta R.A study of effectiveness of dynamic slicing in locating real faults[J].Empirical Softw.Engg.,2007,12(2):143-160
[5] Korel B,Yalamanchili S.Forward computation of dynamic program slices[C]∥Proceedings of the 1994ACM SIGSOFT international symposium on Software testing and analysis,1994.Washington:ACM,1994:66-79
[6] Zhang Xiang-yu,Gupta R,Zhang You-tao.Efficient forwardcomputation of dynamic slices using reduced ordered binary decision diagrams[C]∥Proceedings of the 26th International Conference on Software Engineering,2004.Edinburgh:IEEE Computer Society,2004:502-511
[7] Zhang Xiang-yu,Gupta R,Zhang You-tao.Precise dynamic slicing algorithms[C]∥Proceedings of the 25th International Conference on Software Engineering,2003.Portland:IEEE Computer Society,2003:319-329
[8] Nagarajan V,Jeffrey D,Gupta R,et al.A system for debugging via online tracing and dynamic slicing[J].Software-Practice & Experience,2012,42(11):1431-1431
[9] Alfred V A,Monica S L,Ravi S,et al.Compilers Principles,Techniques and Tools(第2版)[M].赵建华,郑滔,戴新宇,译. 北京:机械工业出版社,2009:382-402
[10] Do H,Elbaum S,Rothermel G.Supporting Controlled Experimentation with Testing Techniques:An Infrastructure and its Potential Impact[J].Empirical Softw.Engg.,2005,10(4):405-435
[11] 王雪莲,赵瑞莲,李立健.一种用于测试数据生成的动态程序切片算法[J].计算机应用,2005,25(6):1445-1447
[12] Gyimothy T,Beszedes A,Forgacs I.An efficient relevant slicing method for debugging[J].SIGSOFT Softw.Eng.Notes,1999,24(6):303-321
[13] Beszedes A,Gergely T,Szabo Z M,et al.Dynamic slicing method for maintenance of large C programs[C]∥Proceedings of the fifth European Conference on Software Maintenance and Reengineering,2001.Lisbon:IEEE Computer Society,2001:105-113
[14] Masri W,Podgurski A,Leon D.Detecting and Debugging Insecure Information Flows[C]∥Proceedings of the 15th International Symposium on Software Reliability Engineering,2004.Saint-Malo:IEEE Computer Society,2004:198-209
[15] Masri W,Nahas N,Podgurski A.Memoized Forward Computation of Dynamic Slices[C]∥Proceedings of the 17th InternationalSymposium on Software Reliability Engineering,2006.Raleigh:IEEE Computer Society,2006:23-32

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!