Data Flow Analysis: Theory and Practice

Front Cover
CRC Press, Dec 19, 2017 - Computers - 395 pages

Data flow analysis is used to discover information for a wide variety of useful applications, ranging from compiler optimizations to software engineering and verification. Modern compilers apply it to produce performance-maximizing code, and software engineers use it to re-engineer or reverse engineer programs and verify the integrity of their programs.

Supplementary Online Materials to Strengthen Understanding

Unlike most comparable books, many of which are limited to bit vector frameworks and classical constant propagation, Data Flow Analysis: Theory and Practice offers comprehensive coverage of both classical and contemporary data flow analysis. It prepares foundations useful for both researchers and students in the field by standardizing and unifying various existing research, concepts, and notations. It also presents mathematical foundations of data flow analysis and includes study of data flow analysis implantation through use of the GNU Compiler Collection (GCC). Divided into three parts, this unique text combines discussions of inter- and intraprocedural analysis and then describes implementation of a generic data flow analyzer (gdfa) for bit vector frameworks in GCC.

Through the inclusion of case studies and examples to reinforce material, this text equips readers with a combination of mutually supportive theory and practice, and they will be able to access the author’s accompanying Web page. Here they can experiment with the analyses described in the book, and can make use of updated features, including:

  • Slides used in the authors’ courses
  • The source of the generic data flow analyzer (gdfa)
  • An errata that features errors as they are discovered
  • Additional updated relevant material discovered in the course of research
 

Contents

An Introduction to Data Flow Analysis
1
Intraprocedural Data Flow Analysis
21
Classical Bit Vector Data Flow Analysis
23
Theoretical Abstractions in Data Flow Analysis
59
General Data Flow Frameworks
101
Complexity of Iterative Data Flow Analysis
159
Single Static Assignment Form as Intermediate Representation
185
Interprocedural Data Flow Analysis
231
Functional Approach to Interprocedural Data Flow Analysis
259
ValueBased Approach to Interprocedural Data Flow Analysis
293
Implementing Data Flow Analysis
331
Implementing Data Flow Analysis in GCC
333
An Introduction to GCC
365
References
371
Index
379
Copyright

Introduction to Interprocedural Data Flow Analysis
233

Other editions - View all

Common terms and phrases

About the author (2017)

Uday Khedker, Amitabha Sanyal, Bageshri Sathe

Bibliographic information