A Multi-Language Tool for Generating Unit Tests from Execution Traces
Legacy software systems often lack extensive testing, but are assumed to behave correctly after years of bug fixes and stable operation. Migrating or modernizing these systems is challenging because there is little support for preventing regressions. Test carving addresses this problem by generating unit tests based on the current behavior of the system, treating it as an implicit oracle. In this paper, we present Modest,a multi-language tool that generates unit tests by carving them from execution traces. Modestprocesses method calls, including their receivers, arguments, and results, to recreate these invocations as unit tests. Its model-based approach allows it to support multiple languages. We detail how it can be extended to handle additional languages. Modestaims to generate tests that are human-readable and maintainable over time. To achieve this, it reconstructs values as source code rather than relying on deserialization. We evaluate Modestby generating tests for both Java and Pharo applications.
Authors
- Anne Etien (ORCID: https://orcid.org/0000-0003-3034-873X)
- Benoît Verhaeghe (ORCID: https://orcid.org/0000-0002-4588-2698)
- Nicolas Anquetil (ORCID: https://orcid.org/0000-0003-1486-8399)
- Gabriel Darbord (ORCID: https://orcid.org/0000-0001-7364-7567)
Institutions
- Centre National de la Recherche Scientifique (FR)
- Université de Lille (FR)
- École Centrale de Lille (FR)
Publication Details
- Published
- 2025-03-04
- DOI
- https://doi.org/10.1109/saner64311.2025.00030
- Primary Topic
- Software Testing and Debugging Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00