Abstract
Flow logic is an approach to static analysis that separates the specification of when an analysis estimate is acceptable for a program from the actual computation of the analysis information. It allows one not only to combine a variety of programming paradigms but also to link up with state-of-the-art developments in classical approaches to static analysis, in particular data flow analysis, constraint-based analysis and abstract interpretation. This paper gives a tutorial on flow logic and explains the underlying methodology; the multi-paradigmatic approach is illustrated by a number of examples including functional, imperative, object-oriented and concurrent constructs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. Abadi and L. Cardelli. A Theory of Objects. Springer, 1996.
A. Aiken, M. Fähndrich, J. S. Foster, and Z. Su. A toolkit for constructing type-and constraint-based program analyses. In Proc. TIC’98, 1998.
C. Bodei, P. Degano, F. Nielson, and H. Riis Nielson. Static analysis for the π-calculus with applications to security. Information and Computation, to appear, 2000.
C. Bodei, P. Degano, F. Nielson, and H. Riis Nielson. Static analysis for secrecy and non-interference in networks of processes. In Proc. PaCT’01, number 2127 in Lecture Notes in Computer Science, pages 27–41. Springer-Verlag, 2001.
L. Cardelli and A. Gordon. Mobile ambients. In Proc. FoSSaCS’98, 1998.
D. Clement, J. Despeyroux, T. Despeyroux, and G. Kahn. A simple applicative language: Mini-ml. In Proc. L & FP, 1986.
P. Cousot and R. Cousot. Abstract Interpretation: a Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Proc. POPL’ 77, pages 238–252. ACM Press, 1977.
K.L.S. Gasser, F. Nielson, and H. Riis Nielson. Systematic realisation of control flow analyses for CML. In Proc. ICFP’97, pages 38–51. ACM Press, 1997.
M. S. Hecht. Flow Analysis of Computer Programs. North Holland, 1977.
N. Heintze. Set-based analysis of ML programs. In Proc. LFP’ 94, pages 306–317, 1994.
R. Milner. A theory of type polymorphism in programming. Journal of Computer Systems, 17:348–375, 1978.
R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes. Information and Computation, 100:1–77, 1992.
R. Milner, M. Tofte, and R. Harper. The definition of Standard ML. MIT Press, 1990.
F. Nielson and H. Riis Nielson. Infinitary control flow analysis: a collecting semantics for closure analysis. In Proc. POPL’97, pages 332–345. ACM Press, 1997.
F. Nielson and H. Riis Nielson. The flow logic of imperative objects. In Proc. MFCS’98, number 1450 in Lecture Notes in Computer Science, pages 220–228. Springer-Verlag, 1998.
F. Nielson and H. Riis Nielson. Flow logics and operational semantics. Electronic Notes of Theoretical Computer Science, 10, 1998.
F. Nielson and H. Riis Nielson. Interprocedural control flow analysis. In Proc. ESOP’99, number 1576 in Lecture Notes in Computer Science, pages 20–39. Springer-Verlag, 1999.
F. Nielson, H. Riis Nielson, and C. L. Hankin. Principles of Program Analysis. Springer, 1999.
F. Nielson, H. Riis Nielson, R. R. Hansen, and J. G. Jensen. Validating firewalls in mobile ambients. In Proc. CONCUR’99, number 1664 in Lecture Notes in Computer Science, pages 463–477. Springer-Verlag, 1999.
F. Nielson, H. Riis Nielson, and M. Sagiv. A Kleene analysis of mobile ambients. In Proc. ESOP’00, number 1782 in Lecture Notes in Computer Science, pages 304–319. Springer-Verlag, 2000.
H. Riis Nielson and F. Nielson. Flow logics for constraint based analysis. In Proc. CC’98, number 1383 in Lecture Notes in Computer Science, pages 109–127. Springer-Verlag, 1998.
H. Riis Nielson and F. Nielson. Shape analysis for mobile ambients. In Proc. POPL’00, pages 142–154. ACM Press, 2000.
G. D. Plotkin. A structural approach to operational semantics. Technical Report FN-19, DAIMI, Aarhus University, Denmark, 1981.
J. Reppy. Concurrent Programming in ML. Cambridge University Press, 1999.
M. Sagiv, T. Reps, and R. Wilhelm. Parametric shape analysis via 3-valued logic. In Proc. POPL’99, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Nielson, H.R., Nielson, F. (2002). Flow Logic: A Multi-paradigmatic Approach to Static Analysis. In: Mogensen, T.Æ., Schmidt, D.A., Sudborough, I.H. (eds) The Essence of Computation. Lecture Notes in Computer Science, vol 2566. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36377-7_11
Download citation
DOI: https://doi.org/10.1007/3-540-36377-7_11
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00326-7
Online ISBN: 978-3-540-36377-4
eBook Packages: Springer Book Archive