Skip to main content
Introduction to Static Analysis: An Abstract Interpretation Perspective

Introduction to Static Analysis: An Abstract Interpretation Perspective

Current price: $65.00
Publication Date: February 11th, 2020
The MIT Press
The MIT Press Bookstore
1 on hand, as of Nov 30 10:32am
On Our Shelves Now


A self-contained introduction to abstract interpretation–based static analysis, an essential resource for students, developers, and users.

Static program analysis, or static analysis, aims to discover semantic properties of programs without running them. It plays an important role in all phases of development, including verification of specifications and programs, the synthesis of optimized code, and the refactoring and maintenance of software applications. This book offers a self-contained introduction to static analysis, covering the basics of both theoretical foundations and practical considerations in the use of static analysis tools. By offering a quick and comprehensive introduction for nonspecialists, the book fills a notable gap in the literature, which until now has consisted largely of scientific articles on advanced topics.

The text covers the mathematical foundations of static analysis, including semantics, semantic abstraction, and computation of program invariants; more advanced notions and techniques, including techniques for enhancing the cost-accuracy balance of analysis and abstractions for advanced programming features and answering a wide range of semantic questions; and techniques for implementing and using static analysis tools. It begins with background information and an intuitive and informal introduction to the main static analysis principles and techniques. It then formalizes the scientific foundations of program analysis techniques, considers practical aspects of implementation, and presents more advanced applications. The book can be used as a textbook in advanced undergraduate and graduate courses in static analysis and program verification, and as a reference for users, developers, and experts.

About the Author

Xavier Rival is Research Director at INRIA Paris and head of the research group on static analysis at Ecole Normale Supérieure/CNRS/INRIA/PSL

Kwangkeun Yi is Professor in the Department of Computer Science & Engineering at Seoul National University and head of its Programming Research Laboratory.