Software fault localization based on hierarchical slicing

被引:0
|
作者
Xu G. [1 ]
Li B. [1 ]
Sun X. [1 ]
Tao C. [1 ]
机构
[1] School of Computer Science and Engineering, Southeast University
关键词
Abstract syntax tree; Execution history; Hierarchical slicing model; Stepwise refinement;
D O I
10.3969/j.issn.1001-0505.2010.04.006
中图分类号
学科分类号
摘要
A novel HSM (hierarchical slicing model)-based fault localization technique is proposed for object-oriented programs. Firstly, the scope of fault localization is reduced by deleting packages, classes and methods which have passed the tests, then the reduced program will be partitioned into some modules based on AST (abstract syntax tree) by analyzing statements, and further, the number of variables within each module are computed independently. Then, execution history is computed based on a set of test cases. Finally, according to the size of the variables used in the modules, the intersection of each module and its backward slice are iteratively calculated using the SSA (stepwise slicing algorithm) until faults are eventually localized. Experimental results show that: the method can locate the most faults early, especially in the program with less method calling relationship. The SSA is called iteratively in the program where the method is called more frequently. Thus, the efficiency is reduced.
引用
收藏
页码:692 / 698
页数:6
相关论文
共 12 条
  • [1] Korel B., Laski J., Algorithmic software fault localization, Proceedings of the Twenty-Fourth Annual Hawaii International Conference on System Sciences, pp. 246-252, (1991)
  • [2] Weiser M., Program slicing, Proceedings of the 5th International Conference on Software Engineering, pp. 439-449, (1981)
  • [3] Korel B., Laski J., Dynamic program slicing, Information Processing Letters, 29, 3, pp. 155-163, (1988)
  • [4] Zeller A., Yesterday, my program worked. Today, it does not. Why, Proceedings of the 7th European Software Engineering Conference, pp. 253-267, (1999)
  • [5] Zhang X., Gupta N., Locating faulty code by multiple points slicing, Software-Practice and Experience, 37, 9, pp. 935-961, (2007)
  • [6] Wong W.E., Qi Y., Effective program debugging based on execution slices and inter-block data dependency, Journal of Systems and Software, 79, 7, pp. 891-903, (2006)
  • [7] Sun J., Li Z., Ni J., Software fault localization based on testing requirement and program slice, International Conference on Networking, Architecture, and Storage, pp. 168-176, (2007)
  • [8] pp. 251-272, (2006)
  • [9] Li B., An approach for hierarchy slicing object-oriented program, Journal of Software, 12, 12, pp. 1810-1817, (2001)
  • [10] Harrold M.J., Rothermel G., Syntax-directed construction of program dependence graphs, (1996)