Software unit test coverage and adequacy
ACM Computing Surveys (CSUR)
Symbolic execution and program testing
Communications of the ACM
Principles of Program Analysis
Principles of Program Analysis
A new approach to program testing
Proceedings of the international conference on Reliable software
JCrasher: an automatic robustness tester for Java
Software—Practice & Experience
Improving effectiveness of automated software testing in the absence of specifications
Improving effectiveness of automated software testing in the absence of specifications
Variably interprocedural program analysis for runtime error detection
Proceedings of the 2007 international symposium on Software testing and analysis
A Survey of Coverage-Based Testing Tools
The Computer Journal
Hi-index | 0.00 |
This article describes the use of symbolic execution, a formal method of static analysis, to calculate code coverage of a program's existing JUnit test suites. Code coverage is measured with respect to a number of test adequacy criteria, including statement coverage, branch coverage, condition coverage, method coverage, class coverage, and loop coverage. The results of the code coverage calculation is then used to automatically generate JUnit test cases to reach areas of a program that are not sufficiently covered. The level of redundancy of each test case is also calculated during coverage calculation, thereby identifying fully redundant, and partially redundant, test cases. These calculations are packaged as an Eclipse plug-in, named ATCO. ATCO can also be used to perform coverage calculation during a manual execution of a program, allowing testers to measure the effectiveness of manual testing.