Efficiently monitoring data-flow test coverage

Raul Santelices, Mary Jean Harrold
2007 Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering - ASE '07  
Structural testing of software requires monitoring the software's execution to determine which program entities are executed by a test suite. Such monitoring can add considerable overhead to the execution of the program, adversely affecting the cost of running a test suite. Thus, minimizing the necessary monitoring activity lets testers reduce testing time or execute more test cases. A basic testing strategy is to cover all statements or branches but a more effective strategy is to cover all
more » ... is to cover all definition-use associations (DUAs). In this paper, we present a novel technique to efficiently monitor DUAs, based on branch monitoring. We show how to infer from branch coverage the coverage of many DUAs, while remaining DUAs are predicted with high accuracy by the same information. Based on this analysis, testers can choose branch monitoring to approximate DUA coverage or instrument directly for DUA monitoring, which is precise but more expensive. In this paper, we also present a tool, called DUA-FORENSICS, that we implemented for this technique along with a set of empirical studies that we performed using the tool.
doi:10.1145/1321631.1321682 dblp:conf/kbse/SantelicesH07 fatcat:6k5ehgx6dvawfmyadd44ctodbu