Skip to Main content Skip to Navigation
Theses

Precise and modular static analysis by abstract interpretation for the automatic proof of program soundness and contracts inference

Abstract : Ensuring the scalability of static analyzers defined by abstract interpretation poses difficulties. A classical technique known to speed up analyses is the discovery and reuse of summaries for some of the sequences of statements of the source code. In this thesis we focus on a subset of C that does not allow recursion and define a modular analyzer, able to infer, prove and use (to improve the efficiency) such summaries. Our modular analyzer is built on top of an existing C analyzer and is therefore able to handle unions, structures, arrays, memory allocations (static and dynamic), pointers, pointer arithmetics, pointer casts, function calls, string manipulations, ... . String handling is provided by a new abstract domain defined in this thesis. In this thesis we provide a lifting of classical numerical abstract domains to the representation of heterogeneous sets. This lifting can be used for relational domains and maintains only one numerical abstract state, by opposition to partitioning. The last point of interest of this thesis is the definition of an abstract domain able to represent sets of trees with numerically labeled leaves. This abstraction is based on regular and tree regular languages and delegates the handling of numerical constraints to an underlying domain able to represent heterogeneous sets of environments. As the thesis took place in the mopsa project, we provide an overview of some of the results obtained by the mopsa team during the thesis.
Document type :
Theses
Complete list of metadatas

Cited literature [102 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-02947214
Contributor : Abes Star :  Contact
Submitted on : Wednesday, September 23, 2020 - 5:42:52 PM
Last modification on : Friday, September 25, 2020 - 10:38:37 AM

File

JOURNAULT_Matthieu_2019.pdf
Version validated by the jury (STAR)

Identifiers

  • HAL Id : tel-02947214, version 1

Citation

Matthieu Journault. Precise and modular static analysis by abstract interpretation for the automatic proof of program soundness and contracts inference. Programming Languages [cs.PL]. Sorbonne Université, 2019. English. ⟨NNT : 2019SORUS152⟩. ⟨tel-02947214⟩

Share

Metrics

Record views

79

Files downloads

16