Raisonnement à contraintes pour le test de bytecode Java

Gespeichert in:
Bibliographische Detailangaben
Titel: Raisonnement à contraintes pour le test de bytecode Java
Autoren: Charreteur, Florence, Gotlieb, Arnaud
Weitere Verfasser: Logiciel : ANalyse et DEveloppement (Lande), Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA), Université de Rennes (UR)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut National des Sciences Appliquées (INSA)-Institut National des Sciences Appliquées (INSA)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centre National de la Recherche Scientifique (CNRS)-Université de Rennes (UR)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut National des Sciences Appliquées (INSA)-Institut National des Sciences Appliquées (INSA)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centre National de la Recherche Scientifique (CNRS)-Centre Inria de l'Université de Rennes, Institut National de Recherche en Informatique et en Automatique (Inria), LINA - Université de Nantes - Ecole des Mines de Nantes, Gilles Trombettoni, Session 01 : applications (Bruno Zanuttini)
Quelle: JFPC 2008- Quatrièmes Journées Francophones de Programmation par Contraintes ; https://inria.hal.science/inria-00290579 ; JFPC 2008- Quatrièmes Journées Francophones de Programmation par Contraintes, LINA - Université de Nantes - Ecole des Mines de Nantes, Jun 2008, Nantes, France. pp.11-20
Verlagsinformationen: CCSD
Publikationsjahr: 2008
Schlagwörter: ACM: D.: Software/D.3: PROGRAMMING LANGUAGES/D.3.3: Language Constructs and Features/D.3.3.3: Constraints, [INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL]
Geographisches Schlagwort: Nantes, France
Beschreibung: National audience ; Le test logiciel permet d'augmenter la confiance que l'on porte à un programme ou un système. Dans ce contexte, il s'agit d'exécuter le programme avec un certain nombre d'entrées dans le but de couvrir des objectifs de test, comme celui qui consiste à atteindre toutes les instructions du programme au moins une fois durant la phase de test. Idéalement, on souhaite générer ces entrées de manière automatique mais ce problème est indécidable dans le cas général. Dans notre travail, nous avons développé une méthode (incomplète) pour ce problème qui s'appuie sur une vision relationnelle du programme. Cet article présente des opérateurs à contraintes servant à modéliser les instructions du bytecode Java sous la forme d'une relation entre deux états de la mémoire : l'état de la mémoire avant l'instruction et l'état de la mémoire après l'instruction. Les opérateurs expriment des liens entre des états du tas, celui-ci est vu comme une fonction définie sur une partie des entiers naturels. Les algorithmes de filtrage de ces opérateurs permettent des déductions fortes que nous illustrons sur un exemple complexe. Ce modèle est, à notre connaissance, le premier modèle à contraintes proposé pour tester le bytecode Java.
Publikationsart: conference object
Sprache: French
Verfügbarkeit: https://inria.hal.science/inria-00290579
https://inria.hal.science/inria-00290579v1/document
https://inria.hal.science/inria-00290579v1/file/pages-011-20-article27.pdf
Rights: info:eu-repo/semantics/OpenAccess
Dokumentencode: edsbas.BC462A4D
Datenbank: BASE
Beschreibung
Abstract:National audience ; Le test logiciel permet d'augmenter la confiance que l'on porte à un programme ou un système. Dans ce contexte, il s'agit d'exécuter le programme avec un certain nombre d'entrées dans le but de couvrir des objectifs de test, comme celui qui consiste à atteindre toutes les instructions du programme au moins une fois durant la phase de test. Idéalement, on souhaite générer ces entrées de manière automatique mais ce problème est indécidable dans le cas général. Dans notre travail, nous avons développé une méthode (incomplète) pour ce problème qui s'appuie sur une vision relationnelle du programme. Cet article présente des opérateurs à contraintes servant à modéliser les instructions du bytecode Java sous la forme d'une relation entre deux états de la mémoire : l'état de la mémoire avant l'instruction et l'état de la mémoire après l'instruction. Les opérateurs expriment des liens entre des états du tas, celui-ci est vu comme une fonction définie sur une partie des entiers naturels. Les algorithmes de filtrage de ces opérateurs permettent des déductions fortes que nous illustrons sur un exemple complexe. Ce modèle est, à notre connaissance, le premier modèle à contraintes proposé pour tester le bytecode Java.