1. Fault localization through evaluation sequences
- Author
-
Zhang, Zhenyu, Jiang, Bo, Chan, W.K., Tse, T.H., and Wang, Xinming
- Subjects
Computer science - Abstract
To link to full-text access for this article, visit this link: http://dx.doi.org/10.1016/j.jss.2009.09.041 Byline: Zhenyu Zhang (a), Bo Jiang (a), W.K. Chan (b), T.H. Tse (a), Xinming Wang (c) Keywords: Fault localization; Boolean expression; Predicate; Evaluation sequence Abstract: Predicate-based statistical fault-localization techniques find fault-relevant predicates in a program by contrasting the statistics of the evaluation results of individual predicates between failed runs and successful runs. While short-circuit evaluations may occur in program executions, treating predicates as atomic units ignores this fact, masking out various types of useful statistics on dynamic program behavior. In this paper, we differentiate the short-circuit evaluations of individual predicates on individual program statements, producing one set of evaluation sequences per predicate. We then investigate experimentally the effectiveness of using these sequences to locate faults by comparing existing predicate-based techniques with and without such differentiation. We use both the Siemens program suite and four real-life UNIX utility programs as our subjects. The experimental results show that the proposed use of short-circuit evaluations can, on average, improve predicate-based statistical fault-localization techniques while incurring relatively small performance overhead. Author Affiliation: (a) Department of Computer Science, The University of Hong Kong, Pokfulam, Hong Kong (b) Department of Computer Science, City University of Hong Kong, Tat Chee Avenue, Hong Kong (c) Department of Computer Science and Engineering, Hong Kong University of Science and Technology, Kowloon, Hong Kong Article History: Received 2 March 2009; Revised 12 August 2009; Accepted 22 September 2009 Article Note: (footnote) [star] A preliminary version of this paper () has been presented at the 32nd Annual International Computer Software and Applications Conference (COMPSAC 2008).
- Published
- 2010