Test-Driven Fault Navigation for Debugging Reproducible Failures (bibtex)
by Michael Perscheid, Michael Haupt, Robert Hirschfeld and Hidehiko Masuhara
Abstract:
Debugging failing test cases, particularly the search for failure causes, is often a laborious and time-consuming activity. With the help of spectrum-based fault localization developers are able to reduce the potentially large search space by detecting anomalies in tested program entities. However, such anomalies do not necessarily indicate defects and so developers still have to analyze numerous candidates one by one until they find the failure cause. This procedure is inefficient since it does not take into account how suspicious entities relate to each other, whether another developer is better qualified for debugging this failure, or how erroneous behavior comes to be. We present test-driven fault navigation as an interconnected debugging guide that integrates spectrum-based anomalies and failure causes. By analyzing failure-reproducing test cases, we reveal suspicious system parts, developers most qualified for addressing localized faults, and erroneous behavior in the execution history. The Paths tool suite realizes our approach: PathMap supports a breadth first search for narrowing down failure causes and recommends developers for help; PathFinder is a lightweight back-in-time debugger that classifies failing test behavior for easily following infection chains back to defects. The evaluation of our approach illustrates the improvements for debugging test cases, the high accuracy of recommended developers, and the fast response times of our corresponding tool suite.
Reference:
Test-Driven Fault Navigation for Debugging Reproducible Failures (Michael Perscheid, Michael Haupt, Robert Hirschfeld and Hidehiko Masuhara), In JSSST Journal on Computer Software, volume 29, 2012. (Presented as [perscheid2011jssst]. Also appears in Journal of Information and Media Technologies, Vol.7, No.4, pp.1370–1376, 2012.)
Bibtex Entry:
@article{perscheid2012compsoft,
  author = {Michael Perscheid and Michael Haupt and Robert Hirschfeld and Hidehiko Masuhara},
  title = {Test-Driven Fault Navigation for Debugging Reproducible Failures},
  doi = {10.11309/jssst.29.3_188},
  journal = {JSSST Journal on Computer Software},
  pdf = {compsoft2012.pdf},
  year = 2012,
  volume = 29,
  number = 3,
  pages = {188--211},
  month = apr,
  note = {Presented as \cite{perscheid2011jssst}.  Also appears in \href{https://doi.org/10.11185/imt.7.1377}{Journal of Information and Media Technologies, Vol.7, No.4, pp.1370--1376, 2012}.
},
  opturl = {http://japanlinkcenter.org/DN/JST.JSTAGE/jssst/29.3_188},
  abstract = {Debugging failing test cases, particularly the search for failure causes, is often a laborious and time-consuming activity. With the help of spectrum-based fault localization developers are able to reduce the potentially large search space by detecting anomalies in tested program entities. However, such anomalies do not necessarily indicate defects and so developers still have to analyze numerous candidates one by one until they find the failure cause. This procedure is inefficient since it does not take into account how suspicious entities relate to each other, whether another developer is better qualified for debugging this failure, or how erroneous behavior comes to be. 

We present test-driven fault navigation as an interconnected debugging guide that integrates spectrum-based anomalies and failure causes. By analyzing failure-reproducing test cases, we reveal suspicious system parts, developers most qualified for addressing localized faults, and erroneous behavior in the execution history. The Paths tool suite realizes our approach: PathMap supports a breadth first search for narrowing down failure causes and recommends developers for help; PathFinder is a lightweight back-in-time debugger that classifies failing test behavior for easily following infection chains back to defects. The evaluation of our approach illustrates the improvements for debugging test cases, the high accuracy of recommended developers, and the fast response times of our corresponding tool suite.}
}
Powered by bibtexbrowser