Title
How Effective Are Code Coverage Criteria?
Abstract
Code coverage is one of the main metrics to measure the adequacy of a test case/suite. It has been studied a lot in academia and used even more in industry. However, a test case may cover a piece of code (no matter what coverage metric is being used) but miss its faults. In this paper, we studied several existing and standard control and data flow coverage criteria on a set of developer-written fault-revealing test cases from several releases of five open source projects. We found that a) basic criteria such as statement coverage is very weak (detecting only 10% of the faults), b) combining several control-flow coverage together is better than the strongest criterion alone (28% vs. 19%), c) a basic data-flow coverage can detect many undetected faults (79% of the undetected faults by control-flow coverage can be detected by a basic def/use pair coverage), and d) on average 15% of the faults may not be detected by any of the standard control and data-flow coverage criteria. Classification of the undetected faults showed that they are mostly to do with specification (missing logic).
Year
DOI
Venue
2015
10.1109/QRS.2015.30
QRS
Keywords
Field
DocType
Software Testing,Code Coverage,Effectiveness,Control Flow,Data Flow,Fault Categorization,Experiment
Code coverage,Data mining,Suite,Fault coverage,Computer science,Control flow,Test case,Java,Modified condition/decision coverage,Reliability engineering,Data flow diagram
Conference
Citations 
PageRank 
References 
3
0.38
13
Authors
1
Name
Order
Citations
PageRank
Hadi Hemmati162227.54