DocumentCode
3658048
Title
How Effective Are Code Coverage Criteria?
Author
Hadi Hemmati
Author_Institution
Dept. of Comput. Sci., Univ. of Manitoba, Winnipeg, MB, Canada
fYear
2015
Firstpage
151
Lastpage
156
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).
Keywords
"Measurement","Data mining","Instruments","Arrays","Testing","Fault diagnosis","Java"
Publisher
ieee
Conference_Titel
Software Quality, Reliability and Security (QRS), 2015 IEEE International Conference on
Type
conf
DOI
10.1109/QRS.2015.30
Filename
7272926
Link To Document