Abstract
Empirical studies play an important role in measuring the effectiveness of software testing methods and coverage criteria. This has led us to develop an experimental research to study four major test coverage criteria based on the Control Flow Graphs extracted from the source code of programs. In this study, different implementations of an industrial problem are selected as subject programs and the effectiveness of Edge, Edge-Pair, Prime-Path and All-Path coverage criteria are measured for them by means of mutation analysis. Generating and evaluating large number of mutants without random selection in one hand, and running the experiment against entire input domain on the other hand, increased accuracy of the results and removed effect of using random mutants and test case pools in similar experimental studies. Analyzing the results, we discuss the effectiveness of these four coverage criteria, the effect of employing Sidetrip and Detour touring, and the reliability and maximum power of graph-based coverage criteria.
Key words: Software testing, control flow coverage criteria, mutation analysis, empirical study.