@inproceedings{fa5f516a23dc4835ba29e42d847a5f22,
title = "Using likely invariants for automated software fault localization",
abstract = "We propose an automatic diagnosis technique for isolating the root cause(s) of software failures. We use likely program invariants, automatically generated using correct inputs that are close to the fault-triggering input, to select a set of candidate program locations which are possible root causes. We then trim the set of candidate root causes using software-implemented dynamic backwards slicing, plus two new filtering heuristics: dependence filtering, and filtering via multiple failing inputs that are also close to the failing input. Experimental results on reported software bugs of three large open-source servers show that we are able to narrow down the number of candidate bug locations to between 5 and 17 program expressions, even in programs that are hundreds of thousands of lines long. Categories and Subject Descriptors D.2.5 [Software Engineering]: Testing and Debugging-Debugging aids; B.8.1 [Performance and Reliability]: Reliability, Testing, and Fault-Tolerance General Terms Algorithms, Performance, Reliability.",
keywords = "Bug diagnosis, Debugging, Fault localization, Invariants, Program analysis, Root cause, Software reliability, Testing",
author = "Sahoo, {Swarup Kumar} and John Criswell and Chase Geigle and Vikram Adve",
year = "2013",
doi = "10.1145/2451116.2451131",
language = "English (US)",
isbn = "9781450318709",
series = "International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS",
pages = "139--151",
booktitle = "ASPLOS 2013 - 18th International Conference on Architectural Support for Programming Languages and Operating Systems",
note = "18th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2013 ; Conference date: 16-03-2013 Through 20-03-2013",
}