Production Monitoring to Improve Test Suites

Deepika Tiwari,Long Zhang,Martin Monperrus,Benoit Baudry
DOI: https://doi.org/10.1109/TR.2021.3101318
2021-07-29
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.
Software Engineering
What problem does this paper attempt to address?