Skip to Main content Skip to Navigation

Evaluation Symbolique à Contraintes pour la Validation - Application à Java/JML

Abstract : My thesis work concerns the validation of models and programs. Models are validated by symbolic animation, in order to ensure that they fulfill the informal requirements of the system they describe. It is a semi-automated process, since the user selects the actions of the system he wants to execute and he has to compare the informal descriptions and the results obtained from the model animation. A validated model is then employed for functional test generation, destined to be executed on an implementation under test. The model is used twice. First, it is used to automatically compute the test suites. Second, it is used as an oracle which makes it possible to establish the test verdict.
During this work, we were interested in the validation of Java programs by means of its associated modelling language, named JML. Consequently to the experiences and expertise in the Techniques Formelles et à Contraintes team of the LIFC (computer science laboratory) of the University of Franche-Comté, we have chosen to apply a set-theoretical representation of the JML models. From this symbolic representation, we have expressed the symbolic animation of an object model, based on the Java semantics, by considering the pre- and postconditions embedded within the method specifications.
We then rely on the symbolic system states to extract test targets, according to the behaviors computed from the methods. The test targets are defined by a predicate representing the conjunction of the behavior activation condition and the boundary analysis performed on the classes' attributes. Symbolic animation is then performed to build the test cases. An customized state-space exploration algorithm computes a path, from the initial state of the system, and leading to the test target. Test cases are then reified to produce a Java test driver. A case study has been led on the functional model of an electronic purse.
The work has been implemented within a prototype, named JML-Testing-Tools, which makes it possible to perform the symbolic animation of a JML model, and to produce functional test cases for its associated Java program. This tool is composed of a compiler which translated Java signatures and JML specifications within a set-theoretical format. This latter is then animated by using an customized interpreter which restores the original operational semantics of the Java/JML.
Document type :
Complete list of metadatas
Contributor : Frédéric Dadeau <>
Submitted on : Monday, October 13, 2008 - 3:37:48 PM
Last modification on : Thursday, November 12, 2020 - 9:42:04 AM
Long-term archiving on: : Monday, June 7, 2010 - 6:01:44 PM


  • HAL Id : tel-00329891, version 1


Frédéric Dadeau. Evaluation Symbolique à Contraintes pour la Validation - Application à Java/JML. Génie logiciel [cs.SE]. Université de Franche-Comté, 2006. Français. ⟨tel-00329891⟩



Record views


Files downloads