Improved code defect detection with fault links

Jane Huffman Hayes, Inies R. Chemannoor, E. Ashlee Holbrook

Research output: Contribution to journalArticlepeer-review

7 Scopus citations

Abstract

Fault links represent relationships between the types of code faults, or defects, and the types of components in which faults are detected. For example, our prior work validated that a fault link exists between Controller components and Control/Logic faults (such as unreachable code). Fault link information can guide code reviews, walkthroughs, testing, maintenance, and can advise fault seeding. In this paper, we use fault links to augment code reviews. Two experiments were undertaken to evaluate the usefulness of fault links, one with 26 Computer Science students and another with 24 software engineering professionals. The first experiment showed that fault link information assisted in finding more total defects and more 'hard to detect' defects, in the same amount of time, in a Java component of an online course management application. The experiment was repeated with professionals, adding a second Java component from the same application. For the second experiment, more total defects were found by the participants using fault link information for one of the two components and more hard to detect defects were found, in the same amount of time, in both Java components. The group using fault link information for code walkthroughs found, on average, 1.7-2 times more faults and 2-3 times more hard faults than the control group.

Original languageEnglish
Pages (from-to)299-325
Number of pages27
JournalSoftware Testing Verification and Reliability
Volume21
Issue number4
DOIs
StatePublished - Dec 2011

Keywords

  • code inspections
  • defect-based analysis
  • fault link
  • fault taxonomy
  • fault-based analysis

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'Improved code defect detection with fault links'. Together they form a unique fingerprint.

Cite this