Constraint Based Testing and Verification of Java Bytecode Programs
Safaa Achour, Mohammed Benattou · 2018 IEEE 5th International Congress on Information Science and Technology (CiSt) · 2018
In this paper, we propose to apply constraint based testing and verification of Java bytecode programs augmented with their user specifications. The main objective of this approach is to detect inconsistencies between a Java Program and its user specification at the Bytecode level, and also to explore the execution paths of the program searching for which of them may contain such inconsistencies. Thus, we propose firstly to exploit the constraints of the precondition to put the method under test in its invocation context and consequently to guide the generation of the input test data. And secondly, we perform a verification of the program relatively to its post-state to detect the execution paths of the method under test that do not respect their specifications, in the unit testing context. However, the Java method under test and the user specifications are not in the same level of abstraction. To deal with this problem, we suggested to specify the bytecode program with Pre/Post conditions at the bytecode level using the static bytecode instrumentation.