Tutorial on Static Inference of Numeric Invariants by Abstract Interpretation
Title | Tutorial on Static Inference of Numeric Invariants by Abstract Interpretation PDF eBook |
Author | Antoine Min©♭ |
Publisher | |
Pages | 252 |
Release | 2017 |
Genre | Computer software |
ISBN | 9781680833874 |
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, automotive, and space industries to help ensuring the correctness of mission-critical software. This tutorial presents Abstract Interpretation and its use to create static analyzers that infer numeric invariants on programs. We first present the theoretical bases of Abstract Interpretation: how to assign a well-defined formal semantics to programs, construct computable approximations to derive effective analyzers, and ensure soundness, i.e., any property derived by the analyzer is true of all actual executions -- although some properties may be missed due to approximations, a necessary compromise to keep the analysis automatic, sound, and terminating when inferring uncomputable properties.We describe the classic numeric abstractions readily available to an analysis designer: intervals, polyhedra, congruences, octagons, etc., as well as domain combiners: the reduced product and various disjunctive completions. This tutorial focuses not only on the semantic aspect, but also on the algorithmic one, providing a description of the data-structures and algorithms necessary to effectively implement all our abstractions. We will encounter many trade-offs between cost on the one hand, and precision and expressiveness on the other hand. Invariant inference is formalized on an idealized, toy-language, manipulating perfect numbers, but the principles and algorithms we present are effectively used in analyzers for real industrial programs, although this is out of the scope of this tutorial. This tutorial is intended as an entry course in Abstract Interpretation, after which the reader should be ready to read the research literature on current advances in Abstract Interpretation and on the design of static analyzers for real languages.
Principles of Abstract Interpretation
Title | Principles of Abstract Interpretation PDF eBook |
Author | Patrick Cousot |
Publisher | MIT Press |
Pages | 833 |
Release | 2021-09-21 |
Genre | Computers |
ISBN | 0262361523 |
Introduction to abstract interpretation, with examples of applications to the semantics, specification, verification, and static analysis of computer programs. Formal methods are mathematically rigorous techniques for the specification, development, manipulation, and verification of safe, robust, and secure software and hardware systems. Abstract interpretation is a unifying theory of formal methods that proposes a general methodology for proving the correctness of computing systems, based on their semantics. The concepts of abstract interpretation underlie such software tools as compilers, type systems, and security protocol analyzers. This book provides an introduction to the theory and practice of abstract interpretation, offering examples of applications to semantics, specification, verification, and static analysis of programming languages with emphasis on calculational design. The book covers all necessary computer science and mathematical concepts--including most of the logic, order, linear, fixpoint, and discrete mathematics frequently used in computer science--in separate chapters before they are used in the text. Each chapter offers exercises and selected solutions. Chapter topics include syntax, parsing, trace semantics, properties and their abstraction, fixpoints and their abstractions, reachability semantics, abstract domain and abstract interpreter, specification and verification, effective fixpoint approximation, relational static analysis, and symbolic static analysis. The main applications covered include program semantics, program specification and verification, program dynamic and static analysis of numerical properties and of such symbolic properties as dataflow analysis, software model checking, pointer analysis, dependency, and typing (both for forward and backward analysis), and their combinations. Principles of Abstract Interpretation is suitable for classroom use at the graduate level and as a reference for researchers and practitioners.
Verification, Model Checking, and Abstract Interpretation
Title | Verification, Model Checking, and Abstract Interpretation PDF eBook |
Author | Rayna Dimitrova |
Publisher | Springer Nature |
Pages | 361 |
Release | 2023-12-29 |
Genre | Computers |
ISBN | 3031505247 |
The two-volume set LNCS 14499 and 14500 constitutes the proceedings of the 25th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI 2024, which took place in London, Ontario, Canada, in January 2024. The 30 full papers presented in the proceedings were carefully reviewed and selected from 74 submissions. They were organized in topical sections as follows:Part I: Abstract interpretation; infinite-state systems; model checking and synthesis; SAT, SMT, and automated reasoning; Part II: Concurrency; neural networks; probabilistic and quantum programs; program and system verification; runtime verification; security and privacy.
Static Analysis
Title | Static Analysis PDF eBook |
Author | Bor-Yuh Evan Chang |
Publisher | Springer Nature |
Pages | 484 |
Release | 2019-10-05 |
Genre | Computers |
ISBN | 3030323048 |
This book constitutes the refereed proceedings of the 26th International Symposium on Static Analysis, SAS 2019, held in Porto, Portugal, in October 2019. The 20 regular papers presented in this book were carefully reviewed and selected from 50 submissions. The papers are grouped in topical sections on pointers and dataflow; languages and decidability; numerical; trends: assuring machine learning; synthesis and security; and temporal properties and termination.
Static Analysis
Title | Static Analysis PDF eBook |
Author | Manuel V. Hermenegildo |
Publisher | Springer Nature |
Pages | 577 |
Release | 2023-10-23 |
Genre | Computers |
ISBN | 3031442458 |
This book constitutes the refereed proceedings of the 30th International Symposium on Static Analysis, SAS 2023, held in Lisbon, Portugal, in October 2023. The 20 full papers included in this book were carefully reviewed and selected from 40 submissions. Static analysis is widely recognized as a fundamental tool for program verification, bug detection, compiler optimization, program understanding, and software maintenance. The papers deal with theoretical, practical and application advances in the area.
Static Analysis
Title | Static Analysis PDF eBook |
Author | David Pichardie |
Publisher | Springer Nature |
Pages | 391 |
Release | 2021-01-12 |
Genre | Computers |
ISBN | 3030654745 |
This book constitutes the refereed proceedings of the 27th International Symposium on Static Analysis, SAS 2020, held in Chicago, IL, USA, in November 2020. The 14 regular papers presented in this book together with 2 invited talks and 1 extended abstract, were carefully reviewed and selected from 34 submissions. The papers cover topics such as abstract domains; abstract interpretation; automated deduction; data flow analysis; debugging; deductive methods; emerging applications; model-checking; program transformations; predicate abstraction; security analysis; tool environments and architectures; and type checking. Due to the Corona pandemic this event was held virtually.
Static Analysis
Title | Static Analysis PDF eBook |
Author | Gagandeep Singh |
Publisher | Springer Nature |
Pages | 482 |
Release | 2022-12-01 |
Genre | Computers |
ISBN | 303122308X |
This book constitutes the refereed proceedings of the 29th International Symposium on Static Analysis, SAS 2022, held in Auckland, New Zealand, in December 2022. The 18 full papers included in this book were carefully reviewed and selected from 43 submissions. Static analysis is widely recognized as a fundamental tool for program verification, bug detection, compiler optimization, program understanding, and software maintenance. The papers deal with theoretical, practical and application advances in the area.