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 :
بازگشت