Advanced symbolic analysis for compilers. New techniques and algorithms for symbolic program analysis and optimization. (Q1396163)
From MaRDI portal
| This is the item page for this Wikibase entity, intended for internal use and editing purposes. Please use this page instead for the normal view: Advanced symbolic analysis for compilers. New techniques and algorithms for symbolic program analysis and optimization. |
scientific article; zbMATH DE number 1942345
| Language | Label | Description | Also known as |
|---|---|---|---|
| English | Advanced symbolic analysis for compilers. New techniques and algorithms for symbolic program analysis and optimization. |
scientific article; zbMATH DE number 1942345 |
Statements
Advanced symbolic analysis for compilers. New techniques and algorithms for symbolic program analysis and optimization. (English)
0 references
30 June 2003
0 references
Static program analysis is widely used by the software development tools for various purposes like parallelization, optimization, program verification, debugging, etc. This book is about program analysis. It is limited in size and scope: the format is that of an extended research paper or diploma thesis rather than a comprehensive textbook on program analysis. Yet, the ''State of the Art Survey'' serie's label on the book cover is accurate: the book is an in depth foray in symbolic analysis completed by an impressive and extensive discussion on the up to date references and related research work. The book is divided in nine chapters. First two chapters are for the preface and introduction. The last there chapters contain conclusions, a discussion on similar researches in program analysis and an appendix with short introductions in control flow graphs and denotational semantics. The book's core is in the chapters 3 to 6. Chapter 3 presents a novel symbolic analysis framework based on some data structures for program semantic abstractions called by the authors as ``program contexts''. A ``program contexts'' for an arbitrary program point consists of the program variables state, state condition and path conditions. Such triplets describe variable values, constraints on variable values and conditions under which the program point is reached. Program contexts are developed for the usual program constructs: assignment and I/O statements, conditional and loop statements, recurrences, procedures. Chapter 4 presents an algorithm for generating program contexts based on control flow graphs. Various symbolic algorithms for symbolic expressions and symbolic constraints are developed in the next chapter, chapter 5. Chapter 6 describes the author's implementation of the prototype of the framework and algorithms from the previous chapters in Vienna High Performance Compiler. The book is addressed to computer science researchers and students interested in program analysis. Compiler engineers and other developers for software development tools would find this book as a valuable source of ideas and references.
0 references
program analysis
0 references
flow graph
0 references
parallelizing compilers
0 references
semantics
0 references