2022
DOI: 10.1109/mahc.2021.3133136
|View full text |Cite
|
Sign up to set email alerts
|

History of Abstract Interpretation

Abstract: We trace the roots of abstract interpretation and its role as a foundational principle to understand and design static program analysis and verification methods. Starting from the historical roots of formal methods and static program analysis, we show how abstract interpretation evolved and influenced the way we reason about program correctness in different programming languages and how this method shaped the literature and the practice in program analysis in the last 45 years.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2023
2023
2024
2024

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 15 publications
(2 citation statements)
references
References 63 publications
0
2
0
Order By: Relevance
“…It provides a framework for analyzing programs or systems by approximating their behaviors using abstract representations [101][102][103]. These abstract representations capture essential properties of the system while disregarding irrelevant details, enabling scalable analysis and aiding in the identification of security vulnerabilities [104][105][106].…”
Section: Abstract Interpretationmentioning
confidence: 99%
“…It provides a framework for analyzing programs or systems by approximating their behaviors using abstract representations [101][102][103]. These abstract representations capture essential properties of the system while disregarding irrelevant details, enabling scalable analysis and aiding in the identification of security vulnerabilities [104][105][106].…”
Section: Abstract Interpretationmentioning
confidence: 99%
“…The technique of Abstract Interpretation [10] allows constructing sound program analysis tools which can extract properties of a program by safely approximating its semantics. Abstract interpretation proved practical and effective in the context of (Constraint) Logic Programming ((C)LP) [17,24,25,31,32,39,40], which was one of its first application areas [18], and the techniques developed in this context have also been applied to the analysis and verification of other programming languages by using semantic translation into (Constraint) Horn Clauses (CHCs) [13,19,27]. Frameworks for abstract interpretation (such as PLAI/CiaoPP [20] or Astrée [12]) provide efficient implementations of algorithms for computing abstract fixpoints as well as several abstract domains, which approximate different program properties.…”
Section: Introductionmentioning
confidence: 99%