École Centrale Paris 3e année Techniques de vérification formelle Année 2014-2015 TP - Spécification et test avec JML Installation des outils 1 Installation des outils pour JML L’archive JML.zip fournie contient tous les fichiers nécessaires à l’installation des outils dédiés à JML. 1. Dans un terminal, décompressez l’archive JML.zip à la racine de votre compte : > unzip JML.zip 2. Exécutez le script Install-JML-Scripts du répertoire JML/bin : > ./JML/bin/Install-JML-Scripts Un répertoire JMLtools est créé, dont le sous-répertoire bin contient les scripts des outils JML. 3. Ajoutez les scripts JML à la variable d’environnement PATH : dans un éditeur de texte, ouvrez le fichier .bashrc qui se trouve à la racine de votre compte (créez-le s’il n’existe pas). À la fin du fichier, ajoutez la ligne export PATH=$HOME/JMLtools/bin:$PATH 4. La compilation et l’exécution des classes Java annotées par JML seront effectuées en lignes de commande depuis un terminal. 2 Compilation et exécution de classes annotées avec JML Les classes Java annotées avec JML doivent être compilées avec jmlc. > jmlc MaClasse.java On obtient un fichier MaClasse.class dans lequel les spécifications apparaissent comme du code exécutable. Les classes doivent ensuite être exécutées avec le runtime assertion checker de JML de façon à détecter les violations des spécifications à l’exécution. > jmlrac MaClasse Pour les classes ne contenant pas de spécifications JML (les classes de test par exemple), il est préférable de les compiler avec javac de façon à garder les numéros de ligne des erreurs à l’exécution cohérents. > javac TestMaClasse.java Cette classe devra également être exécutée avec le runtime assertion checker de JML puisqu’elle fait appel à des méthodes contenues dans une classe annotée par des spécifications JML. 1