Production Monitoring to Improve Test Suites
arXiv:2012.01198 · doi:10.1109/TR.2021.3101318
Abstract
In this paper, we propose to use production executions to improve the quality of testing for certain methods of interest for developers. These methods can be methods that are not covered by the existing test suite, or methods that are poorly tested. We devise an approach called PANKTI which monitors applications as they execute in production, and then automatically generates differential unit tests, as well as derived oracles, from the collected data. PANKTI's monitoring and generation focuses on one single programming language, Java. We evaluate it on three real-world, open-source projects: a videoconferencing system, a PDF manipulation library, and an e-commerce application. We show that PANKTI is able to generate differential unit tests by monitoring target methods in production, and that the generated tests improve the quality of the test suite of the application under consideration.
References in corpus (8)
- Automatic Test Improvement with DSpot: a Study with Ten Mature Open-Source Projects
- Will My Tests Tell Me If I Break This Code?
- A Comprehensive Study of Pseudo-tested Methods
- Search-based Crash Reproduction using Behavioral Model Seeding
- An Approach and Benchmark to Detect Behavioral Changes of Commits in Continuous Integration
- Five Misunderstandings About Case-Study Research
- In-The-Field Monitoring of Functional Calls: Is It Feasible?
- TripleAgent: Monitoring, Perturbation and Failure-obliviousness for Automated Resilience Improvement in Java Applications