• Publications
  • Influence
Principles of Program Analysis
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.
Semantics with applications - a formal introduction
Axiomatic program verification: direct proofs of program correctness partial correctness assertions soundness and completeness extensions of the axiomatic systems assertions for execution time.
Semantics with Applications: An Appetizer
Operational Semantics, Provably Correct Implementation, and Axiomatic Program Verification - Further Reading.
Two-level functional languages
1. Introduction 2. Types made explicit 3. Binding-time made explicit 4. Combinators made explicit 5. Parametrized semantics 6. Code generation 7. Abstract interpretation 8. Conclusions Bibliography
Type and Effect Systems
A natural extension of type checking techniques is to enrich the types with annotations and effects that further describe intensional aspects of the dynamic behaviour.
Automatic validation of protocol narration
It is demonstrated that these techniques suffice for identifying a number of authentication flaws in symmetric key protocols such as Needham-Schroeder, Otway-Rees, Yahalom and Andrew Secure RPC.
Type and effect systems - behaviours for concurrency
The type and effect system the semantics the inference algorithm the inference algorithm - completeness post-processing the analysis a case study.
Abstract Interpretation of Mobile Ambients
It is demonstrated that abstract interpretation is useful for analysing calculi of computation such as the ambient calculus and that the entire development can be expressed in a constraint-based formalism that is becoming exceedingly popular for the analysis of functional and object-oriented languages.
Static validation of security protocols
We methodically expand protocol narrations into terms of a process algebra in order to specify some of the checks that need to be made in protocol. We then apply static analysis technology to develop
Infinitary control flow analysis: a collecting semantics for closure analysis
This paper shows how to define a collecting semantics for control flow analysis and proves the semantic soundness of the collecting semantics and that all totally deterministic instantiations have a least solution.