Sampling-based program execution monitoring
Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systems
OCAT: object capture-based automated testing
Proceedings of the 19th international symposium on Software testing and analysis
Generating integration test cases automatically
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Generating regression unit tests using a combination of verification and capture & replay
TAP'10 Proceedings of the 4th international conference on Tests and proofs
Minimizing reproduction of software failures
Proceedings of the 2011 International Symposium on Software Testing and Analysis
CoDeSe: fast deserialization via code generation
Proceedings of the 2011 International Symposium on Software Testing and Analysis
AIASABEBI'11 Proceedings of the 11th WSEAS international conference on Applied informatics and communications, and Proceedings of the 4th WSEAS International conference on Biomedical electronics and biomedical informatics, and Proceedings of the international conference on Computational engineering in systems applications
Using AOP for discovering and defining executable test cases
PSI'09 Proceedings of the 7th international Andrei Ershov Memorial conference on Perspectives of Systems Informatics
Search-based system testing: high coverage, no false alarms
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Hi-index | 0.00 |
Unit test cases are focused and efficient. System tests are effective at exercising complex usage patterns. Differential unit tests (DUT) are a hybrid of unit and system tests that exploits their strengths. They are generated by carving the system components, while executing a system test case, that influence the behavior of the target unit, and then re-assembling those components so that the unit can be exercised as it was by the system test. In this paper we show that DUTs retain some of the advantages of unit tests, can be automatically generated, and have the potential for revealing faults related to intricate system executions. We present a framework for carving and replaying DUTs that accounts for a wide variety of strategies and tradeoffs, we implement an automated instance of the framework with several techniques to mitigate test cost and enhance flexibility and robustness, and we empirically assess the efficacy of carving and replaying DUTs on three software artifacts.