Mickaël Delahaye

IPEG

IPEG (Infeasible Path Explanation and Generalization) est un outil d'exécution symbolique dynamique propriétaire développé pour expérimenter la généralisation de chemin infai­sa­ble et ses utilisations. À partir d'un programme écrit dans un sous-ensemble significatif du langage C, IPEG est capable :

Et, avec ses plus de 10000 lignes de code OCaml et Prolog, IPEG peut, en fin de compte, générer des données de test efficacement en évitant de nombreux chemins infaisables.

Capture d'écran d'IPEG montrant un automate de chemins infaisables

IPEG se connecte à tout solveur de contraintes, notamment :

IPEG utilise également les informations statiques calculées par Frama-C, une plateforme libre d'analyse statique.

Données expérimentales

Programmes : git_config, tcas (SIR), gcd, tritype, erfill, bsearch, merge, selection_sort, checkutf8