Fault-localization using dynamic slicing and change impact analysis
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
AI for the win: improving spectrum-based fault localization
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
Slicing is an effective method for focusing on relevant parts of a program in case of a detected misbehavior. Its application to fault localization alone and in combination with other methods has been reported. In this paper we combine dynamic slicing with model-based diagnosis, a method for fault localization, which originates from Artificial Intelligence. In particular, we show how diagnosis, i.e., root causes, can be extracted from the slices for erroneous variables detected when executing a program on a test suite. We use these diagnoses for computing fault probabilities of statements that give additional information to the user. Moreover, we present an empirical study based on our implementation JSDiagnosis and a set of Java programs of various size from 40 to more than 1,000 lines of code.