A program transformation for converting Java assertions into control-flow statements - Rafael Caballero; Vincent von Hof; Manuel Montenegro; Herbert Kuchen (Westfälische Wilhelms-Universität Münster, European Research Center for Information Systems (ERCIS), 2016)
We present a technique for checking the validity of Java assertions using an arbitrary automated test-case generator. Our framework transforms the program by introducing code that detects whether the assertion conditions are met by every direct and indirect method call within a certain depth level. Then, any automated test-case generator can be used to look for input examples that falsify the conditions. The program transformation ensures that the value obtained for these inputs represents a path of method calls that ends with a violation of some assertion. We show experiments with two different automatic test-case generators that demonstrate not just the applicability of our proposal but also that we can get a better coverage than the same test-case generators without our transformation.
Keywords: 650; assertions; conditions; test-cases; Java; test-case generation