Flow Logic for Process Calculi

Flow Logic is an approach to statically determining the behavior of programs and processes. It borrows methods and techniques from Abstract Interpretation, Data Flow Analysis and Constraint Based Analysis while presenting the analysis in a style more reminiscent of Type Systems. Traditionally develo...

Full description

Saved in:
Bibliographic Details
Published inACM computing surveys Vol. 44; no. 1; pp. 1 - 39
Main Authors Nielson, Hanne Riis, Nielson, Flemming, Pilegaard, Henrik
Format Journal Article
LanguageEnglish
Published New York, NY Association for Computing Machinery 01.01.2012
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Flow Logic is an approach to statically determining the behavior of programs and processes. It borrows methods and techniques from Abstract Interpretation, Data Flow Analysis and Constraint Based Analysis while presenting the analysis in a style more reminiscent of Type Systems. Traditionally developed for programming languages, this article provides a tutorial development of the approach of Flow Logic for process calculi based on a decade of research. We first develop a simple analysis for the π -calculus; this consists of the specification, semantic soundness (in the form of subject reduction and adequacy results), and a Moore Family result showing that a least solution always exists, as well as providing insights on how to implement the analysis. We then show how to strengthen the analysis technology by introducing reachability components, interaction points, and localized environments, and finally, we extend it to a relational analysis. A Flow Logic is a program logic---in the same sense that a Hoare’s logic is. We conclude with an executive summary presenting the highlights of the approach from this perspective including a discussion of theoretical properties as well as implementation considerations. The electronic supplements present an application of the analysis techniques to a version of the π -calculus incorporating distribution and code mobility; also the proofs of the main results can be found in the electronic supplements.
Bibliography:SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 14
ObjectType-Article-1
ObjectType-Feature-2
content type line 23
ISSN:0360-0300
1557-7341
DOI:10.1145/2071389.2071392