Modélisation par contraintes de programmes en bytecode java pour la génération automatique de tests

par Florence Charreteur Schadle

Thèse de doctorat en Informatique

Sous la direction de Thomas Jensen et de Arnaud Gotlieb.


  • Résumé

    La vérification des programmes est indispensable pour maintenir un certain niveau de qualité et de fiabilité. Le test est à ce jour le moyen de vérification des logiciels le plus utilisé dans l’industrie. La programmation par contraintes est vue comme un moyen efficace pour automatiser la génération de données de test. Dans cette thèse nous proposons une modélisation par contraintes de la sémantique du bytecode Java, ainsi qu’une méthode, basée sur cette modélisation, pour générer automatiquement des données de test. Notre modèle à contraintes de la sémantique d’un programme en bytecode Java permet de faire des déductions efficaces, y compris en présence de structures de données complexes ou d’héritage. En particulier, l’utilisation de variables de type permet de prendre en compte l’héritage et les appels de méthodes polymorphes. Notre méthode de génération de données de test exploite le modèle à contraintes pour couvrir des instructions particulières du programme sous test. Elle se base sur un parcours en arrière du graphe de flot de contrôle pour énumérer des chemins menant aux instructions cibles. Elle est en particulier adaptée à la couverture d’instructions non couvertes par les autres méthodes de génération de données de test. Enfin cette méthode est mise en application dans un prototype, JAUT (Java Automatic Unit Testing). Les expériences montrent que le prototype permet d’augmenter la couverture des instructions obtenue avec les autres outils disponibles.

  • Titre traduit

    Constraint modeling of Java bytecode programs for auomatic test data generation


  • Résumé

    Program verification is essential to maintain a certain level of quality and reliability. Testing is to date the most used software verification mean in industry. Constraint programming is seen as an effective way to automate test data generation. In this thesis we propose a constraint modeling of the Java bytecode semantics, and a method, based on this modeling, to automatically generate test data. Ourconstraint model of the semantics of a Java bytecode program allows to make effective deductions, including the presence of complex data structures or inheritance. In particular, the use of type variables can take into account inheritance and polymorphic method calls. Our method of test data generation uses the constraint model to cover specific instructions. This method is in particular a good way to cover instructions that are not reached by other methods of test data generation. Finally this method is implemented in a prototype named JAUT (Java Automatic Unit Testing). The experiments show that the prototype can increase the statements coverage obtained with the other available tools.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (141 p.)
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliogr. p. 133-137

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Université de Rennes 1. Service commun de la documentation. BU Beaulieu.
  • Disponible pour le PEB
  • Cote : TA RENNES 2010/19
  • Bibliothèque : Centre de recherche INRIA Rennes - Bretagne Atlantique. Service IST.
  • PEB soumis à condition
  • Cote : D.3 - CHA
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.