Software unit test coverage and adequacy
ACM Computing Surveys (CSUR)
Program Development in Java: Abstraction, Specification, and Object-Oriented Design
Program Development in Java: Abstraction, Specification, and Object-Oriented Design
Korat: automated testing based on Java predicates
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
The impact of test suite granularity on the cost-effectiveness of regression testing
Proceedings of the 24th International Conference on Software Engineering
The Art of Software Testing
Software assurance by bounded exhaustive testing
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
TestEra: Specification-Based Testing of Java Programs Using SAT
Automated Software Engineering
MuJava: an automated class mutation system: Research Articles
Software Testing, Verification & Reliability
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
Korat: A Tool for Generating Structurally Complex Test Inputs
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Automated testing of refactoring engines
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
An empirical study of the effects of test-suite reduction on fault localization
Proceedings of the 30th international conference on Software engineering
Reducing the Costs of Bounded-Exhaustive Testing
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Test generation through programming in UDITA
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Incorporating coverage criteria in bounded exhaustive black box test generation of structural inputs
TAP'11 Proceedings of the 5th international conference on Tests and proofs
Beyond assertions: advanced specification and verification with JML and ESC/Java2
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
Hi-index | 0.00 |
Bounded-exhaustive exploration of test case candidates is a commonly employed approach for test generation in some contexts. Even when small bounds are used for test generation, executing the obtained tests may become prohibitive, despite the time for test generation not being prohibitive. In this paper, we propose a technique for reducing the size of bounded-exhaustive test suites. This technique is based on the application of coverage criteria on the representation invariant of the structure for which the suite was produced. More precisely, the representation invariant (which is often implemented as a repOK routine) is executed to determine how its code is exercised by (valid) test inputs. Different valid test inputs are deemed equivalent if they exercise the repOK code in a similar way according to a white-box testing criterion. These equivalences between test cases are exploited for reducing test suites by removing from the suite those tests that are equivalent to some test already present in the suite. We present case studies that evaluate the effectiveness of our technique. The results show that by reducing the size of bounded-exhaustive test suites up to two orders of magnitude, we obtain test suites whose efficacy measured as their mutant-killing ability is comparable to that of bounded-exhaustive test suites.