Skip to main content
Article
A Learning-to-Rank Based Fault Localization Approach using Likely Invariants
ISSTA 2016: Proceedings of the 25th International Symposium on Software Testing and Analysis: July 18-20, Saarbrücken, Germany
  • Tien-Duy B. LE, Singapore Management University
  • David LO, Singapore Management University
  • Claire LE GOUES, Carnegie Mellon University
  • Lars GRUNSKE, Humboldt-University Berlin
Publication Type
Conference Proceeding Article
Version
acceptedVersion
Publication Date
7-2016
Abstract

Debugging is a costly process that consumes much of developer time and energy. To help reduce debugging effort, many studies have proposed various fault localization approaches. These approaches take as input a set of test cases (some failing, some passing) and produce a ranked list of program elements that are likely to be the root cause of the failures (i.e., failing test cases). In this work, we propose Savant, a new fault localization approach that employs a learning-to-rank strategy, using likely invariant diffs and suspiciousness scores as features, to rank methods based on their likelihood to be a root cause of a failure. Savant has four steps: method clustering & test case selection, invariant mining, feature extraction, and method ranking. At the end of these four steps, Savant produces a short ranked list of potentially buggy methods. We have evaluated Savant on 357 real-life bugs from 5 programs from the Defects4J benchmark. Out of these bugs, averaging over 100 repeated trials with different seeds to randomly break ties, we find that on average Savant can identify correct buggy methods for 63.03, 101.72, and 122 bugs at top 1, 3, and 5 positions in the ranked lists that Savant produces. We have compared Savant against several state-of-the-art fault localization baselines that work on program spectra. We show that Savant can successfully locate 57.73%, 56.69%, and 43.13% more bugs at top 1, top 3, and top 5 positions than the best performing baseline, respectively.

Keywords
  • Learning to Rank,
  • Program Invariants,
  • Automated Debugging
ISBN
9781450343909
Identifier
10.1145/2931037.2931049
Publisher
ACM
City or Country
New York
Copyright Owner and License
Authors/LARC
Creative Commons License
Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International
Additional URL
https://doi.org/10.1145/2931037.2931049
Citation Information
Tien-Duy B. LE, David LO, Claire LE GOUES and Lars GRUNSKE. "A Learning-to-Rank Based Fault Localization Approach using Likely Invariants" ISSTA 2016: Proceedings of the 25th International Symposium on Software Testing and Analysis: July 18-20, Saarbrücken, Germany (2016) p. 177 - 188
Available at: http://works.bepress.com/david_lo/156/