Skip to main content

Flow Logic: A Multi-paradigmatic Approach to Static Analysis

  • Chapter
  • First Online:
The Essence of Computation

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2566))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi and L. Cardelli. A Theory of Objects. Springer, 1996.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. L. Cardelli and A. Gordon. Mobile ambients. In Proc. FoSSaCS’98, 1998.

    Google Scholar 

  6. D. Clement, J. Despeyroux, T. Despeyroux, and G. Kahn. A simple applicative language: Mini-ml. In Proc. L & FP, 1986.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. M. S. Hecht. Flow Analysis of Computer Programs. North Holland, 1977.

    Google Scholar 

  10. N. Heintze. Set-based analysis of ML programs. In Proc. LFP’ 94, pages 306–317, 1994.

    Google Scholar 

  11. R. Milner. A theory of type polymorphism in programming. Journal of Computer Systems, 17:348–375, 1978.

    Article  MATH  MathSciNet  Google Scholar 

  12. R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes. Information and Computation, 100:1–77, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  13. R. Milner, M. Tofte, and R. Harper. The definition of Standard ML. MIT Press, 1990.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. F. Nielson and H. Riis Nielson. Flow logics and operational semantics. Electronic Notes of Theoretical Computer Science, 10, 1998.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. F. Nielson, H. Riis Nielson, and C. L. Hankin. Principles of Program Analysis. Springer, 1999.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. H. Riis Nielson and F. Nielson. Shape analysis for mobile ambients. In Proc. POPL’00, pages 142–154. ACM Press, 2000.

    Google Scholar 

  23. G. D. Plotkin. A structural approach to operational semantics. Technical Report FN-19, DAIMI, Aarhus University, Denmark, 1981.

    Google Scholar 

  24. J. Reppy. Concurrent Programming in ML. Cambridge University Press, 1999.

    Google Scholar 

  25. M. Sagiv, T. Reps, and R. Wilhelm. Parametric shape analysis via 3-valued logic. In Proc. POPL’99, 1999.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics