Automatic system testing of programs without test oracles
Proceedings of the eighteenth international symposium on Software testing and analysis
Proceedings of the 5th Workshop on Automation of Software Test
S2E: a platform for in-vivo multi-path analysis of software systems
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
The S2E Platform: Design, Implementation, and Applications
ACM Transactions on Computer Systems (TOCS) - Special Issue APLOS 2011
Runtime monitoring of functional component changes with behavior models
MODELS'11 Proceedings of the 2011th international conference on Models in Software Engineering
Runtime monitoring of component changes with Spy@Runtime
Proceedings of the 34th International Conference on Software Engineering
CONFU: Configuration Fuzzing Testing Framework for Software Vulnerability Detection
International Journal of Secure Software Engineering
Runtime testing framework for improving quality in dynamic service-based systems
Proceedings of the 2013 International Workshop on Quality Assurance for Service-based Applications
Hi-index | 0.00 |
Software products released into the field typically have some number of residual defects that either were not detected or could not have been detected during testing. This may be the result of flaws in the test cases themselves, incorrect assumptions made during the creation of test cases, or the infeasibility of testing the sheer number of possible configurations for a complex system; these defects may also be due to application states that were not considered during lab testing, or corrupted states that could arise due to a security violation. One approach to this problem is to continue to test these applications even after deployment, in hopes of finding any remaining flaws. In this paper, we present a testing methodology we call in vivo testing, in which tests are continuously executed in the deployment environment. We also describe a type of test we call in vivo tests that are specifically designed for use with such an approach: these tests execute within the current state of the program (rather than by creating a clean slate) without affecting or altering that state from the perspective of the end-user. We discuss the approach and the prototype testing framework for Java applications called Invite. We also provide the results of case studies that demonstrate Invite's effectiveness and efficiency.