Fast polyhedra abstract domain
Numerical abstract domains are an important ingredient of modern static analyzers used for
verifying critical program properties (eg, absence of buffer overflow or memory safety) …
verifying critical program properties (eg, absence of buffer overflow or memory safety) …
Static contract checking with abstract interpretation
M Fähndrich, F Logozzo - International conference on formal verification of …, 2010 - Springer
We present an overview of Clousot, our current tool to statically check CodeContracts.
CodeContracts enable a compiler and language-independent specification of Contracts …
CodeContracts enable a compiler and language-independent specification of Contracts …
Loop-extended symbolic execution on binary programs
Mixed concrete and symbolic execution is an important technique for finding and
understanding software bugs, including security-relevant ones. However, existing symbolic …
understanding software bugs, including security-relevant ones. However, existing symbolic …
Tutorial on static inference of numeric invariants by abstract interpretation
A Miné - Foundations and Trends® in Programming …, 2017 - nowpublishers.com
Born in the late 70s, Abstract Interpretation has proven an effective method to construct static
analyzers. It has led to successful program analysis tools routinely used in avionic …
analyzers. It has led to successful program analysis tools routinely used in avionic …
A parametric segmentation functor for fully automatic and scalable array content analysis
P Cousot, R Cousot, F Logozzo - ACM SIGPLAN Notices, 2011 - dl.acm.org
We introduce FunArray, a parametric segmentation abstract domain functor for the fully
automatic and scalable analysis of array content properties. The functor enables a natural …
automatic and scalable analysis of array content properties. The functor enables a natural …
Modular and verified automatic program repair
F Logozzo, T Ball - ACM SIGPLAN Notices, 2012 - dl.acm.org
We study the problem of suggesting code repairs at design time, based on the warnings
issued by modular program verifiers. We introduce the concept of a verified repair, a change …
issued by modular program verifiers. We introduce the concept of a verified repair, a change …
Clustered relational thread-modular abstract interpretation with local traces
We construct novel thread-modular analyses that track relational information for potentially
overlap** clusters of global variables–given that they are protected by common mutexes …
overlap** clusters of global variables–given that they are protected by common mutexes …
Towards security defect prediction with AI
CD Sestili, WS Snavely, NM VanHoudnos - arxiv preprint arxiv …, 2018 - arxiv.org
In this study, we investigate the limits of the current state of the art AI system for detecting
buffer overflows and compare it with current static analysis tools. To do so, we developed a …
buffer overflows and compare it with current static analysis tools. To do so, we developed a …
Embedded contract languages
M Fähndrich, M Barnett, F Logozzo - … of the 2010 ACM Symposium on …, 2010 - dl.acm.org
Specifying application interfaces (APIs) with information that goes beyond method argument
and return types is a long-standing quest of programming language researchers and …
and return types is a long-standing quest of programming language researchers and …
Abstract interpretation: past, present and future
P Cousot, R Cousot - Proceedings of the Joint Meeting of the Twenty …, 2014 - dl.acm.org
Abstract interpretation is a theory of abstraction and constructive approximation of the
mathematical structures used in the formal description of complex or infinite systems and the …
mathematical structures used in the formal description of complex or infinite systems and the …