• Corpus ID: 1562097

Introduction to abstract interpretation

@inproceedings{Cousot1998IntroductionTA,
  title={Introduction to abstract interpretation},
  author={Patrick Cousot and Radhia Cousot},
  year={1998}
}
Predicate Transformer (Sketchy) ̧P ‹ post[[X:=E]] ‹ ‚P(fq1; : : : ; qng) where fq1; : : : ; qng „ fp1; : : : ; pkg = ̧P ‹ post[[X:=E]]( n \ i=1 I[[qi]]) def. ‚P = ̧P(f[X=[[E]]] j  2 n \ i=1 I[[qi]]g) def. post[[X:=E]] = ̧P( n \ i=1 f[X=[[E]]] j  2 I[[qi]]g) def. \ = ̧P( n \ i=1 I[[qi[X=E]]]) def. substitution = fpj j I[[qi[X=E]) pj]]g def. ̧P ) fpj j theorem_prover[[qi[X=E]) pj]]g since theorem_prover[[qi[X=E]) pj]] implies I[[qi[X=E]) pj]] An Introduction to Abstract Interpretation… 
Optimising the memory management of higher order functional programs
TLDR
This paper focuses on explicit deallocation of heap allocated objects in traditional programming languages like Pascal, C, or Ada, where recursive dynamic data structures like lists or trees are available by explicit access to the heap of the runtime system.
Multithreaded-Cartesian Abstract Interpretation of Multithreaded Recursive Programs Is Polynomial
TLDR
This work considers the class of shared-memory multithreaded programs in the interleaving semantics such that the number of threads is finite and constant throughout all executions, each thread has an unbounded stack, and the shared memory and the stack-frame memory are finite.
Improving C++ Software Quality with Static Code Analysis
interpretation is a formal framework for making semantic approximations of programs for the purpose of static analysis. The basic idea behind the method is to choose a suitable abstraction and apply
Abstract interpretation of domain-specific embedded languages
TLDR
This dissertation shows how abstract interpretation can be applied to a DSEL by replacing it with an abstract implementation of the same interface; evaluating a program with the abstract implementation yields an analysis result, rather than an executable.
Analysis of probabilistic programs by abstract interpretation
TLDR
This thesis proposes a formulaic language for the specification of trace properties of probabilistic, nondeterministic transition systems, encompassing those that can be specified using deterministic Buchi automata and applies abstract interpretation-based techniques to give upper bounds on the worst-case probability of the studied property.
Solvers for type recovery and decompilation of binaries
TLDR
The question of how to guarantee semantic relevance for reconstructed types is answered with a new and semantically-founded approach that provides strong guarantees for the reconstructed types.
Analyse de programmes probabilistes par interprétation abstraite
TLDR
This thesis proposes a formulaic language for the specification of trace properties of probabilistic, nondeterministic transition systems, encompassing those that can be specified using deterministic Büchi automata and applies abstract interpretation-based techniques to give upper bounds on the worst-case probability of the studied property.
Domains for Higher-Order Games
TLDR
It is shown, via a second instantiation of the framework, that the finite domain of this abstract interpretation framework can be optimised, leading to a (k+1)EXP algorithm for order-k recursion schemes.
Thread-Modular Verification and Cartesian Abstraction
TLDR
This paper investigates the formalization of the Flanagan and Qadeer thread-modular algorithm in the framework of abstract interpretation; its definition involves Cartesian products of sets and provides a basis for the systematic study of similar abstractions for dealing with the state explosion problem.
Dynamic Symbolic Execution with Descriptive and Prescriptive Relations
TLDR
This thesis proposes a conceptual framework for a comparative analysis of program analysis techniques, and uses it to define proposed techniques in this thesis to support Dynamic Symbolic Execution (DSE), and suggests enhancing fault detection effectiveness of DSE, in the context of functional testing, by using domain specific relations that prescribe how inputs and outputs should be related.
...
...

References

SHOWING 1-10 OF 225 REFERENCES
Variations on strictness analysis
TLDR
This work uses a common "sugared" version of first-order lambda calculus, where a program is a set of mutually recursive equations, each of the form f ( z , , . . , X n ) "body", to write primitive functions such as those for arithmetic.
A Powerdomain Construction
  • G. Plotkin
  • Computer Science, Mathematics
    SIAM J. Comput.
  • 1976
TLDR
A powerdomain construction is developed, which is analogous to the powerset construction and also fits in with the usual sum, product and exponentiation constructions on domains, and a restricted class of algebraic inductive partial orders is found which is closed under this construction.
Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints
A program denotes computations in some universe of objects. Abstract interpretation of programs consists in using that denotation to describe computations in another universe of abstract objects, so
Systematic design of program analysis frameworks
TLDR
The systematic and correct design of program analysis frameworks with respect to a formal semantics is devoted to the main elements of the lattice theoretic approach to approximate semantic analysis of programs.
Fast Abstract Interpretation Using Sequential Algorithms
TLDR
This paper describes an approach which it is hoped will make evaluation of ,~-expressions over finite lattices tractable in practice, and aims to save time by computing only part of the value of each ,kexpression.
Power Domains
  • M. Smyth
  • Mathematics
    J. Comput. Syst. Sci.
  • 1978
Strictness analysis and denotational abstract interpretation
TLDR
It is shown that a collecting (static [CoCo79]) semantics exists, thus answering a problem left open in [BHA86], and shows the possibility of a general theory (and hence a system) for the analysis of functional programs.
On the power and limitation of strictness analysis based on abstract interpretation
TLDR
This paper provides the first precise and formal characterization of the loss of information that leads to this incompleteness of Mycroft’s strictness analysis method and its natural generalization to non-flat domains called ee-analysis.
...
...