Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397

Issue N10 2022 year

DOI: 10.17587/prin.13.483-496
Reanimator: from Test Data to Code and Back
A. M. Abdullin, Post-Graduate Student, Senior Lecturer, azat.aam@gmail.com, V. M. Itsykson, PhD, Associate Professor, vlad@icc.spbstu.ru, Peter the Great St. Petersburg Polytechnic University (SPbPU), Saint-Petersburg, 195251, Russian Federation
Corresponding author: Azat M. Abdullin, Post-Graduate Student, Senior Lecturer, Peter the Great St.Petersburg Polytechnic University (SPbPU), Saint-Petersburg, 195251, Russian Federation, E-mail: azat.aam@gmail.com
Received on September 09, 2022
Accepted on October 10, 2022

State-of-the-art automatic testing tools can efficiently detect various kinds of errors in software projects; however, these errors often cannot be automatically extracted to a standalone reproducing test case, a feature valuable for the purposes of further software maintenance. Objects present the main difficulty, as generating code to construct an object given its state is hard, due to the encapsulation principle. In this paper we present an approach called Reanimator that, given an object representation, is able to generate a valid code snippet which constructs this object using its publicly available API. Reanimator can be applied to any automatic testing tool to help it generate reproducing test cases for detected failures. We implemented our approach as a part of an automatic testing tool called Kex and evaluated it on a number of open-source projects from GitHub. Evaluation results showed that our approach is compatible with the state of the art techniques.

Keywords: automatic test generation, symbolic execution, software testing
pp. 483—496
For citation:
Abdullin A. M., Itsykson V. M. Reanimator: from Test Data to Code and Back, Programmnaya Ingeneria, 2022, vol. 13, no. 10, pp. 483—496.