Comparing and combining software defect detection techniques
Authors:
Open Access
- 1 November 1997
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGSOFT Software Engineering Notes
- Vol. 22 (6) , 262-277
Abstract
This report describes an empirical study comparing three defect detection techniques: a) code reading by stepwise abstraction, b) functional testing using equivalence partitioning and boundary value analysis, and c) structural testing using branch coverage. It is a replica- tion of a study that has been carried out at least four times previously over the last 20 years. This study used 47 student subjects to apply the techniques to small C programs in a fractional factorial experimental design. The major findings of the study are: a) that the individual tech- niques are of broadly similar effectiveness in terms of observing failures and finding faults, b) that the relative effectiveness of the techniques de- pends on the nature of the program and its faults, c) these techniques are consistently much more effective when used in combination with each other. These results contribute to a growing body of empirical evidence that supports generally held beliefs about the effectiveness of defect de- tection techniques in software engineering.Keywords
This publication has 4 references indexed in Scilit:
- The software-research crisisIEEE Software, 1994
- Science and substance: a challenge to software engineersIEEE Software, 1994
- Comparing the Effectiveness of Software Testing StrategiesIEEE Transactions on Software Engineering, 1987
- A controlled experiment in program testing and code walkthroughs/inspectionsCommunications of the ACM, 1978