You may have to Search all our reviewed books and magazines, click the sign up button below to create a free account.
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.
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...
Semantics will play an important role in the future development of software systems and domain-specific languages. This book provides a needed introductory presentation of the fundamental ideas behind these approaches, stresses their relationship by formulating and proving the relevant theorems, and illustrates the applications of semantics in computer science. Historically important application areas are presented together with some exciting potential applications. The text investigates the relationship between various methods and describes some of the main ideas used, illustrating these by means of interesting applications. The book provides a rigorous introduction to the main approaches to formal semantics of programming languages.
The SPIN workshop is a forum for researchers interested in the subject of automata-based, explicit-state model checking technologies for the analysis and veri?cation of asynchronous concurrent and distributed systems. The SPIN - del checker (http://netlib.bell-labs.com/netlib/spin/whatispin.html), developed by Gerard Holzmann, is one of the best known systems of this kind, and has attracted a large user community. This can likely be attributed to its e?cient state exploration algorithms. The fact that SPIN’s modeling language, Promela, resembles a programming language has probably also contributed to its success. Traditionally, the SPIN workshops present papers on extensions and uses of SP...
This book constitutes the refereed proceedings of the 5th International Symposium on Static Analysis, SAS'98, held in Pisa, Italy, in September 1998. The 20 revised full papers presented were carefully reviewed and selected from a total of 48 submissions. Also included is an invited tutorial. The papers are organized in topical sections on data-flow analysis, logic programming, concurrency, abstract domains, partial evaluation, type inference, and optimization. The invited tutorial by David Schmidt and Bernhard Steffen is entitled "data-flow analysis as model checking of abstract interpretations".
The authors describe here a framework in which the type notation of functional languages is extended to include a notation for binding times (that is run-time and compile-time) that distinguishes between them. Consequently, the ability to specify code and verify program correctness can be improved. Two developments are needed, the first of which introduces the binding time distinction into the lambda calculus in a manner analogous with the introduction of types into the untyped lambda calculus. Methods are also presented for introducing combinators for run-time. The second concerns the interpretation of the resulting language, which is known as the mixed lambda-calculus and combinatory logic. The notion of "parametrized semantics" is used to describe code generation and abstract interpretation. The code generation is for a simple abstract machine designed for the purpose, it is close to the categorical abstract machine. The abstract interpretation focuses on a strictness analysis that generalizes Wadler's analysis for lists. It is also shown how the results of abstract interpretation may be used to improve the code generation.
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.
Static analysis is a research area aimed at developing principles and tools for veri?cation, certi?cation, semantics-based manipulation, and high-performance implementation of programming languages and systems. The series of Static Analysis symposia has served as the primary venue for presentation and disc- sion of theoretical, practical, and application advances in the area. This volume contains the papers accepted for presentation at the 15th Inter- tional Static Analysis Symposium (SAS 2008), which was held July 16–18, 2008, in Valencia, Spain. The previous SAS conferences were held in Kongens Lyngby, D- mark (2007), Seoul, South Korea (2006), London, UK (2005), Verona, Italy (2004), Sa...
Security is a rapidly growing area of computer science, with direct and increasing relevance to real-life applications, such as Internet transactions, e-commerce, information protection, network and systems security, etc. Foundations for the analysis and design of security features of such applications are badly needed in order to validate and prove their correctness. This book presents thoroughly revised versions of six tutorial lectures given by leading researchers during two International Schools on Foundations of Security Analysis and Design, FOSAD 2001/2002, held in Bertinoro, Italy, in September 2001 and September 2002. The lectures are devoted to: - Formal Approaches to Approximating Noninterference Properties - The Key Establishment Problem - Name-Passing Calculi and Cryptoprimitives - Classification of Security Properties; Network Security - Cryptographic Algorithms for Multimedia Traffic - Security for Mobility
This book originates from the 5th LOMAPS Workshop on Analysis and Verification of Multiple-Agent Languages, held in Stockholm, Sweden, in June 1996. LOMAPS is an ESPRIT project devoted to program analysis and verification techniques applicable to emerging multi-paradigm programming languages. The volume presents 14 revised full papers selected from the workshop submissions together with 4 invited contributions; also included is an introductory overview surveying the state of the art in the area and putting the contributions into this context.