Skip to main navigation Skip to search Skip to main content

Does the failing test execute a single or multiple faults? An approach to classifying failing tests

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Debugging is an indispensable yet frustrating activity in software development and maintenance. Thus, numerous techniques have been proposed to aid this task. Despite the demonstrated effectiveness and future potential of these techniques, many of them have the unrealistic single-fault failure assumption. To alleviate this problem, we propose a technique that can be used to distinguish failing tests that executed a single fault from those that executed multiple faults in this paper. The technique suitably combines information from (i) a set of fault localization ranked lists, each produced for a certain failing test and (ii) the distance between a failing test and the passing test that most resembles it to achieve this goal. An experiment on 5 real-life medium-sized programs with 18, 920 multiple-fault versions, which are shipped with number of faults ranging from 2 to 8, has been conducted to evaluate the technique. The results indicate that the performance of the technique in terms of evaluation measures precision, recall, and F-measure is promising. In addition, for the identified failing tests that executed a single fault, the technique can also properly cluster them.

Original languageEnglish
Title of host publicationProceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015
PublisherIEEE Computer Society
Pages924-935
Number of pages12
ISBN (Electronic)9781479919345
DOIs
StatePublished - 12 Aug 2015
Event37th IEEE/ACM International Conference on Software Engineering, ICSE 2015 - Florence, Italy
Duration: 16 May 201524 May 2015

Publication series

NameProceedings - International Conference on Software Engineering
Volume1
ISSN (Print)0270-5257

Conference

Conference37th IEEE/ACM International Conference on Software Engineering, ICSE 2015
Country/TerritoryItaly
CityFlorence
Period16/05/1524/05/15

Keywords

  • Binary classification
  • Debugging
  • Distance calculation
  • Fault localization

Fingerprint

Dive into the research topics of 'Does the failing test execute a single or multiple faults? An approach to classifying failing tests'. Together they form a unique fingerprint.

Cite this