The Design and Implementation of an Abstract Interpreter for OCaml Programs - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2023

The Design and Implementation of an Abstract Interpreter for OCaml Programs

Résumé

We report on a work in progress that aims at defining an effective static analyser for OCaml programs, by leveraging abstract interpretation techniques. The goal of the Salto static analyser is to detect precisely which exceptions an OCaml program might raise, and to report problematic cases, where a program execution might rely on elements of the OCaml semantics that are deemed under-specified or undefined. The Salto analyser exploits a novel abstract domain to represent inductively defined sets of trees, that draws inspiration from the theory of recursive types, from tree automata, and from the abstract domain of Type Graphs. The analyser itself is defined using a dynamic fixpoint solver, i.e., a generic library that implements an iteration strategy that finds a post-fixpoint. The solver automatically inserts widening points to ensure the convergence of the iteration process, and aims at limiting the unnecessary computations that may be asked by the iteration strategy.
Fichier principal
Vignette du fichier
ML2023_Salto_preliminary_report.pdf (405.33 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Licence
Copyright (Tous droits réservés)

Dates et versions

hal-04259875 , version 1 (26-10-2023)

Licence

Copyright (Tous droits réservés)

Identifiants

  • HAL Id : hal-04259875 , version 1

Citer

Benoît Montagu. The Design and Implementation of an Abstract Interpreter for OCaml Programs. ML Family 2023 - Higher-order, Typed, Inferred, Strict: ACM SIGPLAN ML Family Workshop, Sep 2023, Seattle, Washington, United States. pp.1-4. ⟨hal-04259875⟩
58 Consultations
54 Téléchargements

Partager

More