Software engineering (2nd ed.): principles and practice
Software engineering (2nd ed.): principles and practice
An empirical study of regression test selection techniques
ACM Transactions on Software Engineering and Methodology (TOSEM)
Endo-testing: unit testing with mock objects
Extreme programming examined
Regression test selection for Java software
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
JUnit in Action
AspectJ in Action: Practical Aspect-Oriented Programming
AspectJ in Action: Practical Aspect-Oriented Programming
Invited Talk Static and dynamic analysis: synergy and duality
Proceedings of the 5th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Test input generation with java PathFinder
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Rostra: A Framework for Detecting Redundant Object-Oriented Unit Tests
Proceedings of the 19th IEEE international conference on Automated software engineering
A Case Study in JML-Based Software Validation
Proceedings of the 19th IEEE international conference on Automated software engineering
Automatic test factoring for java
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Kiasan/KUnit: Automatic Test Case Generation and Analysis Feedback for Open Object-oriented Systems
TAICPART-MUTATION '07 Proceedings of the Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION
Kiasan: A Verification and Test-Case Generation Framework for Java Based on Symbolic Execution
ISOLA '06 Proceedings of the Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation
Unit test frameworks
Verification-Based Test Case Generation for Full Feasible Branch Coverage
SEFM '08 Proceedings of the 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods
Carving and Replaying Differential Unit Test Cases from System Test Cases
IEEE Transactions on Software Engineering
Regression Verification: Proving the Equivalence of Similar Programs
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
DiffGen: Automated Regression Unit-Test Generation
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
GenUTest: a unit test and mock aspect generation tool
International Journal on Software Tools for Technology Transfer (STTT) - Special Section on HVC 07
Combining static and dynamic reasoning for bug detection
TAP'07 Proceedings of the 1st international conference on Tests and proofs
Generating unit tests from formal proofs
TAP'07 Proceedings of the 1st international conference on Tests and proofs
White-box testing by combining deduction-based specification extraction and black-box testing
TAP'07 Proceedings of the 1st international conference on Tests and proofs
Pex: white box test generation for .NET
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
Integrating verification and testing of object-oriented software
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
Verification of object-oriented software: The KeY approach
Verification of object-oriented software: The KeY approach
ESC/Java2: uniting ESC/Java and JML
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Augmenting automatically generated unit-test suites with regression oracle checking
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Hi-index | 0.00 |
The combination of software verification and testing techniques is increasingly encouraged due to their complementary strengths. Some verification tools have extensions for test case generation. These tests are strong at detecting software faults during the implementation and verification phase, and to further increase the confidence in the final software product. However, tests generated using verification technology alone may lack some of the benefits obtained by using more traditional testing techniques. One such technique is Capture and Replay, whose strengths are the generation of isolated unit tests and regression test oracles. Hence, the two groups of techniques have complementary strengths, and therefore are ideal candidates for a tool-chain approach proposed in this paper. The first phase produces, for a given system, unit tests with high coverage. However, when using them to test a unit, its environment is tested as well - resulting in a high cost of testing. To solve this problem, the second phase captures the various executions of the program, which are monitored by the output of the first phase. The output of the second phase is a set of unit tests with high code coverage, which uses mock objects to test the units. Another advantage of this approach is the fact that the generated tests can also be used for regression testing.