This Article 
 Bibliographic References 
 Add to: 
Using Spanning Sets for Coverage Testing
November 2003 (vol. 29 no. 11)
pp. 974-984

Abstract—A test coverage criterion defines a set E_c of entities of the program flowgraph and requires that every entity in this set is covered under some test case. Coverage criteria are also used to measure the adequacy of the executed test cases. In this paper, we introduce the notion of spanning sets of entities for coverage testing. A spanning set is a minimum subset of E_c, such that a test suite covering the entities in this subset is guaranteed to cover every entity in E_c. When the coverage of an entity always guarantees the coverage of another entity, the former is said to subsume the latter. Based on the subsumption relation between entities, we provide a generic algorithm to find spanning sets for control flow and data flow-based test coverage criteria. We suggest several useful applications of spanning sets: They help reduce and estimate the number of test cases needed to satisfy coverage criteria. We also empirically investigate how the use of spanning sets affects the fault detection effectiveness.

[1] H. Agrawal, “Dominators, Super Blocks and Program Coverage,” Proc., ACM Principles of Programming Language '94, 1986.
[2] A.V. Aho,J.E. Hopcroft, and J.D. Ullman,The Design and Analysis of Computer Algorithms.Reading, Mass.: Addison-Wesley, 1974.
[3] Aristotle Research Group, Aristotle Analysis System Download dist.html, 2003.
[4] K. Beck, Test-Driven Development: By Example, Addison-Wesley, 2002.
[5] B. Beizer, Software Testing Techniques, second ed. Boston, Mass.: Int'l Thomson Computer Press, 1990.
[6] A. Bertolino, Unconstrained Edges and Their Application to Branch Analysis and Testing of Programs The J. Systems and Software, vol. 20, no. 2, pp. 125-133, Feb. 1993.
[7] A. Bertiolino and M. Marr'e, “Automatic Generation of Path Covers Based on the Control Flow Analysis of Computer Programs,” IEEE Trans. Software Eng., vol. 20, no. 12, pp. 885-899, Dec. 1992.
[8] A. Bertolino and M. Marré, A General Path Generation Algorithm for Coverage Testing Proc. Int'l Quality Week, May 1997.
[9] M. Imai, A. Alomary, J. Sato, and N. Hikichi, “An Integer Programming Approach to Instruction Implementation Method Selection Problem,” Proc. European Design Automation Conf., pp. 106-111, 1992.
[10] A. Bertolino, R. Mirandola, and E. Peciola, A Case Study in Branch Testing Automation The J. Systems and Software, vol. 38, no. 1, pp. 47-59, July 1997.
[11] T. Chusho, Test Data Selection and Quality Estimation Based on the Concept of Essential Branches for Path Testing IEEE Trans. Software Eng., vol. 13, no. 5, pp. 509-517, May 1987.
[12] P. Frankl and E.J. Weyuker, “An Applicable Family of Data Flow Testing Criteria,” IEEE Trans. Software Eng., vol. 14, no. 10, pp. 1,483–1,498, Oct. 1988.
[13] R. Gupta and M.L. Soffa, Employing Static Information in the Generation of Test Cases Software Testing, Verification and Reliability, vol. 3, no. 1, pp. 29-48, 1993.
[14] M.J. Harrold, R. Gupta, and M.L. Soffa, "A Methodology for Controlling the Size of a Test Suite," ACM Trans. Software Eng. and Methodology, vol. 2, no. 3, pp. 270-285, July 1993.
[15] M.S. Hecht, Flow Analysis of Computer Programs. North-Holland: Elsevier, 1977.
[16] M. Hutchins, H. Foster, T. Goradia, and T. Ostrand, “Experiments on the Effectiveness of Dataflow- and Controlflow-Based Test Adequacy Criteria,” Proc. Int'l Conf. Software Eng., pp. 191–200, May 1994.
[17] T. Lengauer and R.E. Tarjan,“A fast algorithm for finding dominators in a flowgraph,” ACM Trans. on Programming Languages and Systems, vol. 1, pp. 121-141, July 1979.
[18] M. Marré, Program Flow Analysis for Reducing and Estimating the Cost of Test Coverage Criteria PhD Thesis, Dept. Computer Science, FCEyN, Univ. de Bue nos Aires, 1997.
[19] M. Marré and A. Bertolino, Unconstrained Duas and Their Use in Achieving All-uses Coverage ACM Proc. Int'l Symp. Software Testing and Analysis (ISSTA 96), pp. 147-157, Jan. 1996.
[20] M. Marré and A. Bertolino, Reducing and Estimating the Cost of Test Coverage Criteria Proc. 18th Int'l Conf. Software Eng. (ICSE 18), pp. 486-494, Mar. 1996.
[21] S. Rapps and E.J. Weyuker, “Selecting Software Test Data Using Data Flow Information,” IEEE Trans. Software Eng., vol. 11, no. 4, pp. 367–375, Apr. 1985.
[22] G. Rothermel, M.J. Harrold, J. Ostrin, and C. Hong, Empirical Study of the Effects of Minimization on the Fault Detection Capabilities of Test Suites Proc. Int'l Conf. Software Maintenance, pp. 34-43, Nov. 1998.
[23] W.E. Wong,“On mutation and data flow,” PhD thesis, Department of Computer Sciences, Purdue University, West Lafayette, Ind., Dec. 1993 (also available as SERC-TR-149-P, Software EngineeringResearch Center, Purdue University).
[24] W.E. Wong, J.R. Horgan, S. London, and A.P. Mathur, "Effect of Test Set Minimization on Fault Detection Effectiveness," Proc. 17th Int'l Conf. Software Eng., pp. 41-50, IEEE, 1995.
[25] T.H. Wonnacott and R.J. Wonnacott, Introductory Statistics, fifth ed. Wiley, 1990.

Index Terms:
Control flow, coverage criteria, data flow, ddgraph, spanning sets, subsumption.
Martina Marr?, Antonia Bertolino, "Using Spanning Sets for Coverage Testing," IEEE Transactions on Software Engineering, vol. 29, no. 11, pp. 974-984, Nov. 2003, doi:10.1109/TSE.2003.1245299
Usage of this product signifies your acceptance of the Terms of Use.