ReAssert: Deep Learning for Assert Generation

11/19/2020
by   Robert White, et al.
3

The automated generation of test code can reduce the time and effort required to build software while increasing its correctness and robustness. In this paper, we present RE-ASSERT, an approach for the automated generation of JUnit test asserts which produces more accurate asserts than previous work with fewer constraints. This is achieved by targeting projects individually, using precise code-to-test traceability for learning and by generating assert statements from the method-under-test directly without the need to write an assert-less test first. We also utilise Reformer, a state-of-the-art deep learning model, along with two models from previous work to evaluate ReAssert and an existing approach, known as ATLAS, using lexical accuracy,uniqueness, and dynamic analysis. Our evaluation of ReAssert shows up to 44 single project match exactly with the ground truth, increasing to 51 generated asserts that compile. We also improve on the ATLAS results through our use of Reformer with 28 ground truth. Reformer also produces the greatest proportion of unique asserts (71

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset