Flow Logics for Constraint Based Analysis

Flow logic offers a compact and versatile notation for expressing the acceptability of solutions to program analysis problems. In contrast to previous logical formulations of program analysis it aims at integrating existing approaches to data flow analysis and control flow analysis. It is able to deal with a broad variety of language paradigms, program properties, kinds of formal semantics, and methods used for computing the best solution. In this paper we illustrate how a compositional flow logic (in “succinct” form) can be systematically transformed into an efficient exhaustive procedure for computing the best solution of a set of constraints generated. This involves transformations to attribute grammars and to specifications of the (“verbose”) form used in control flow analysis.

[1]  Flemming Nielson,et al.  Infinitary control flow analysis: a collecting semantics for closure analysis , 1997, POPL '97.

[2]  Neil D. Jones,et al.  Data flow analysis of applicative programs using minimal function graphs , 1986, POPL '86.

[3]  R. Nigel Horspool,et al.  Compile-Time Analysis of Object-Oriented Programs , 1992, CC.

[4]  Flemming Nielson,et al.  Systematic realisation of control flow analyses for CML , 1997, ICFP '97.

[5]  Suresh Jagannathan,et al.  Analyzing stores and references in a parallel symbolic language , 1994, LFP '94.

[6]  Olin Shivers The semantics of Scheme control-flow analysis , 1991 .

[7]  Helmut Seidl,et al.  An Even Faster Solver for General Systems of Equations , 1996, SAS.

[8]  Prateek Mishra,et al.  Polymorphic Subtype Inference: Closing the Theory-Practice Gap , 1989, TAPSOFT, Vol.2.

[9]  Nick Benton Strictness Logic and Polymorphic Invariance , 1992, LFCS.

[10]  Tsung-Min Kuo,et al.  Strictness analysis: a new perspective based on type inference , 1989, FPCA.

[11]  Pierre Jouvelot,et al.  Polymorphic type, region and effect inference , 1992, Journal of Functional Programming.

[12]  Ole Lehrmann Madsen,et al.  On defining semantics by means of extended attribute grammars , 1980, Semantics-Directed Compiler Generation.

[13]  Robin Milner,et al.  Definition of standard ML , 1990 .

[14]  Barbara G. Ryder,et al.  Pointer-induced aliasing: a problem classification , 1991, POPL '91.

[15]  Geoffrey Smith,et al.  Principal Type Schemes for Functional Programs with Overloading and Subtyping , 1994, Sci. Comput. Program..

[16]  Barbara G. Ryder,et al.  Data-Flow-Based Virtual Function Resolution , 1996, SAS.

[17]  Olin Shivers,et al.  The semantics of Scheme control-flow analysis , 1991, PEPM '91.

[18]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[19]  Ole Lehrmann Madsen,et al.  Extended Attribute Grammars , 1981, Comput. J..

[20]  Matthew S. Hecht,et al.  Flow Analysis of Computer Programs , 1977 .

[21]  Suresh Jagannathan,et al.  A unified treatment of flow analysis in higher-order languages , 1995, POPL '95.