École Centrale Paris Techniques de vérification formelle
3eannée 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