Title
Enhancing structural software coverage by incrementally computing branch executability
Abstract
Structural code coverage criteria have been studied since the early seventies, and now they are well supported by commercial and open-source tools and are commonly embedded in several advanced industrial processes. Most industrial applications still refer to simple criteria, like statement and branch coverage, and consider complex criteria, like modified condition decision coverage, only rarely and often driven by the requirements of certification agencies. The industrial value of structural criteria is limited by the difficulty of achieving high coverage, due to both the complexity of deriving test cases that execute specific uncovered elements and the presence of many infeasible elements in the code. In this paper, we propose a technique that both generates test cases that execute yet uncovered branches and identifies infeasible branches that can be eliminated from the computation of the branch coverage. In this way, we can increase branch coverage to closely approximate full coverage, thus improving its industrial value. The algorithm combines symbolic analysis, abstraction refinement, and a novel technique named coarsening, to execute unexplored branches, identify infeasible ones, and mitigate the state space explosion problem. In the paper, we present the technique and illustrate its effectiveness through a set of experimental results obtained with a prototype implementation.
Year
DOI
Venue
2011
10.1007/s11219-011-9150-y
Software Quality Journal
Keywords
Field
DocType
Structural testing,Concolic execution,Automatic test generation
Code coverage,Software engineering,Computer science,Software,Symbolic data analysis,Test case,Certification,State space,Modified condition/decision coverage,Reliability engineering,Distributed computing,Computation
Journal
Volume
Issue
ISSN
19
4
0963-9314
Citations 
PageRank 
References 
16
0.56
25
Authors
4
Name
Order
Citations
PageRank
Mauro Baluda1241.30
P. Braione21228.08
Giovanni Denaro336929.00
Mauro Pezzè41842106.03