Principles of Program Analysis

Principles of Program Analysis

Author: Flemming Nielson

Publisher: Springer

Published: 2015-02-27

Total Pages: 465

ISBN-13: 3662038110

DOWNLOAD EBOOK

Program analysis utilizes static techniques for computing reliable information about the dynamic behavior of programs. Applications include compilers (for code improvement), software validation (for detecting errors) and transformations between data representation (for solving problems such as Y2K). This book is unique in providing an overview of the four major approaches to program analysis: data flow analysis, constraint-based analysis, abstract interpretation, and type and effect systems. The presentation illustrates the extensive similarities between the approaches, helping readers to choose the best one to utilize.


Introduction to Static Analysis

Introduction to Static Analysis

Author: Xavier Rival

Publisher: MIT Press

Published: 2020-02-11

Total Pages: 315

ISBN-13: 0262043416

DOWNLOAD EBOOK

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.


Program Analysis and Compilation, Theory and Practice

Program Analysis and Compilation, Theory and Practice

Author: Thomas Reps

Publisher: Springer

Published: 2007-06-05

Total Pages: 370

ISBN-13: 3540713220

DOWNLOAD EBOOK

Reinhard Wilhelm's career in Computer Science spans more than a third of a century. This Festschrift volume, published to honor him on his 60th Birthday on June 10, 2006, includes 15 refereed papers by leading researchers, his graduate students and research collaborators, as well as current and former colleagues, who all attended a celebratory symposium held at Schloss Dagstuhl, Germany.


Tools and Methods of Program Analysis

Tools and Methods of Program Analysis

Author: Anna Kalenkova

Publisher: Springer Nature

Published: 2021-03-16

Total Pages: 216

ISBN-13: 3030714721

DOWNLOAD EBOOK

This book constitutes the refereed proceedings of the 5th International Conference on Tools and Methods for Program Analysis, TMPA 2019, held in Tbilisi, Georgia, in November 2019. The 14 revised full papers and 2 revised short papers presented together with one keynote paper were carefully reviewed and selected from 41 submissions. The papers deal with topics such as software test automation, static program analysis, verification, dynamic methods of program analysis, testing and analysis of parallel and distributed systems, testing and analysis of high-load and high-availability systems, analysis and verification of hardware and software systems, methods of building quality software, tools for software analysis, testing and verification.


Program Budgeting

Program Budgeting

Author: David Novick

Publisher: Harvard University Press

Published: 1967

Total Pages: 414

ISBN-13: 9780674713505

DOWNLOAD EBOOK

This book is designed to help improve understanding of the principles of program budgeting in relation to the decisionmaking process in the federal government; to stimulate others to develop these ideas further; and to accelerate the application of program budgeting in governmental activities.


Formal Methods

Formal Methods

Author: Flemming Nielson

Publisher: Springer

Published: 2019-07-16

Total Pages: 170

ISBN-13: 3030051560

DOWNLOAD EBOOK

This textbook is an introduction to the use of formal methods ranging from semantics of key programming constructs to techniques for the analysis and verification of programs. The authors use program graphs as the mechanism for representing the control structure of programs in order to find a balance between generality and conceptual complexity. The early chapters on program graphs and the Guarded Commands language are sufficient introduction for most readers to then enjoy a plug-and-play approach to the remaining chapters. These explain formal methods for analysing the behaviour of programs in various ways ranging from verification, via program analysis and language-based security, to model checking. The remaining chapters present language extensions with procedures and concurrency and cover their semantics. The book is suitable for advanced undergraduate and graduate courses in software development, and the text is supported throughout with exercises of varying grades of difficulty. The authors have developed an online learning environment that allows students to create examples beyond those covered in the main text, and in the book appendices they present programming projects aimed at implementing central parts of the development using the functional language F#.


Path-Oriented Program Analysis

Path-Oriented Program Analysis

Author: J. C. Huang

Publisher: Cambridge University Press

Published: 2007-12-24

Total Pages: 120

ISBN-13: 1139468944

DOWNLOAD EBOOK

This book presents a unique method for decomposing a computer program along its execution paths, for simplifying the subprograms so produced, and for recomposing a program from its subprograms. This method enables us to divide and conquer the complexity involved in understanding the computation performed by a program by decomposing it into a set of subprograms and then simplifying them to the furthest extent possible. The resulting simplified subprograms are generally more understandable than the original program as a whole. The method may also be used to simplify a piece of source code by following the path-oriented method of decomposition, simplification, and recomposition. The analysis may be carried out in such a way that the derivation of the analysis result constitutes a correctness proof. The method can be applied to any source code (or portion thereof) that prescribes the computation to be performed in terms of assignment statements, conditional statements, and loop constructs, regardless of the language or paradigm used.


Secure Programming with Static Analysis

Secure Programming with Static Analysis

Author: Brian Chess

Publisher: Pearson Education

Published: 2007-06-29

Total Pages: 1101

ISBN-13: 0132702029

DOWNLOAD EBOOK

The First Expert Guide to Static Analysis for Software Security! Creating secure code requires more than just good intentions. Programmers need to know that their code will be safe in an almost infinite number of scenarios and configurations. Static source code analysis gives users the ability to review their work with a fine-toothed comb and uncover the kinds of errors that lead directly to security vulnerabilities. Now, there’s a complete guide to static analysis: how it works, how to integrate it into the software development processes, and how to make the most of it during security code review. Static analysis experts Brian Chess and Jacob West look at the most common types of security defects that occur today. They illustrate main points using Java and C code examples taken from real-world security incidents, showing how coding errors are exploited, how they could have been prevented, and how static analysis can rapidly uncover similar mistakes. This book is for everyone concerned with building more secure software: developers, security engineers, analysts, and testers.


Software Error Detection through Testing and Analysis

Software Error Detection through Testing and Analysis

Author: J. C. Huang

Publisher: John Wiley & Sons

Published: 2009-08-06

Total Pages: 350

ISBN-13: 0470464054

DOWNLOAD EBOOK

An in-depth review of key techniques in software error detection Software error detection is one of the most challenging problems in software engineering. Now, you can learn how to make the most of software testing by selecting test cases to maximize the probability of revealing latent errors. Software Error Detection through Testing and Analysis begins with a thorough discussion of test-case selection and a review of the concepts, notations, and principles used in the book. Next, it covers: Code-based test-case selection methods Specification-based test-case selection methods Additional advanced topics in testing Analysis of symbolic trace Static analysis Program instrumentation Each chapter begins with a clear introduction and ends with exercises for readers to test their understanding of the material. Plus, appendices provide a logico-mathematical background, glossary, and questions for self-assessment. Assuming a basic background in software quality assurance and an ability to write nontrivial programs, the book is free of programming languages and paradigms used to construct the program under test. Software Error Detection through Testing and Analysis is suitable as a professional reference for software testing specialists, software engineers, software developers, and software programmers. It is also appropriate as a textbook for software engineering, software testing, and software quality assurance courses at the advanced undergraduate and graduate levels.


Tools and Methods of Program Analysis

Tools and Methods of Program Analysis

Author: Vladimir Itsykson

Publisher: Springer

Published: 2017-12-29

Total Pages: 225

ISBN-13: 3319717340

DOWNLOAD EBOOK

This book constitutes the refereed proceedings of the 4th International Conference on Tools and Methods for Program Analysis, TMPA 2017, Moscow, Russia, March 3-4, 2017. The 12 revised full papers and 5 revised short papers presented together with three abstracts of keynote talks were carefully reviewed and selected from 51 submissions. The papers deal with topics such as software test automation, static program analysis, verification, dynamic methods of program analysis, testing and analysis of parallel and distributed systems, testing and analysis of high-load and high-availability systems, analysis and verification of hardware and software systems, methods of building quality software, tools for software analysis, testing and verification.