Passer à la navigation principale Passer à la recherche Passer au contenu principal

Reusing Caches and Invariants for Efficient and Sound Incremental Static Analysis

  • Mamy Razafintsialonina
  • , David Bühler
  • , Antoine Miné
  • , Valentin Perrelle
  • , Julien Signoles
  • Université Paris-Saclay
  • Sorbonne Université

Résultats de recherche: Le chapitre dans un livre, un rapport, une anthologie ou une collectionContribution à une conférenceRevue par des pairs

1 Citation (Scopus)

Résumé

Static analysis by means of abstract interpretation is a tool of choice for proving absence of some classes of errors, typically undefined behaviors in C code, in a sound way. However, static analysis tools are hardly integrated in CI/CD processes. One of the main reasons is that they are still time- and memory-expensive to apply after every single patch when developing a program. For solving this issue, incremental static analysis helps developers quickly obtain analysis results after making changes to a program. However, existing approaches are often not guaranteed to be sound, limited to specific analyses, or tied to specific tools. This limits their generalizability and applicability in practice, especially for large and critical software. In this paper, we propose a generic, sound approach to incremental static analysis that is applicable to any abstract interpreter. Our approach leverages the similarity between two versions of a program to soundly reuse previously computed analysis results. We introduce novel methods for summarizing functions and reusing loop invariants. They significantly reduce the cost of reanalysis, while maintaining soundness and a high level of precision. We have formalized our approach, proved it sound, implemented it in Eva, the abstract interpreter of Frama-C, and evaluated it on a set of real-world commits of open-source programs.

langue originaleAnglais
titre39th European Conference on Object-Oriented Programming, ECOOP 2025
rédacteurs en chefJonathan Aldrich, Alexandra Silva
EditeurSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
ISBN (Electronique)9783959773737
Les DOIs
étatPublié - 25 juin 2025
Modification externeOui
Evénement39th European Conference on Object-Oriented Programming, ECOOP 2025 - Bergen, Norvcge
Durée: 30 juin 20252 juil. 2025

Série de publications

NomLeibniz International Proceedings in Informatics, LIPIcs
Volume333
ISSN (imprimé)1868-8969

Une conférence

Une conférence39th European Conference on Object-Oriented Programming, ECOOP 2025
Pays/TerritoireNorvcge
La villeBergen
période30/06/252/07/25

Empreinte digitale

Examiner les sujets de recherche de « Reusing Caches and Invariants for Efficient and Sound Incremental Static Analysis ». Ensemble, ils forment une empreinte digitale unique.

Contient cette citation