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 language | English |
---|---|
Pages (from-to) | 299-325 |
Number of pages | 27 |
Journal | Software Testing Verification and Reliability |
Volume | 21 |
Issue number | 4 |
DOIs | |
State | Published - 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