Skip to main content

Data flow analysis as model checking

  • Conference paper
  • First Online:
Book cover Theoretical Aspects of Computer Software (TACS 1991)

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

Included in the following conference series:

Abstract

The paper develops a framework that is based on the idea that modal logic provides an appropriate framework for the specification of data flow analysis (DFA) algorithms as soon as programs are represented as models of the logic. This can be exploited to construct a DFA-generator that generates efficient implementations of DFA-algorithms from modal specifications by partially evaluating a specific model checker with respect to the specifying modal formula. Moreover, the use of a modal logic as specification language for DFA-algorithms supports the compositional development of specifications and structured proofs of properties of DFA-algorithms. — The framework is illustrated by means of a real life example: the problem of determining optimal computation points within flow graphs.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J. Bradfield, C.Stirling. Local Model Checking for Finite State Spaces. LFCS Report Series ECS-LFCS-90-115, June 1990

    Google Scholar 

  2. P. Cousot, R. Cousot. Abstract interpretation: A unified Lattice Model for static Analysis of Programs by Construction or Approximation of Fixpoints. In Proceedings 4th POPL, Los Angeles, California, January, 1977

    Google Scholar 

  3. E. Clarke, E.A. Emerson, A.P. Sistla. Automatic Verification of Finite State Concurrent Systems using Temporal Logic Specifications: A Practical Approach. In Proceedings 10th POPL'83, 1983

    Google Scholar 

  4. R. Cleaveland, J.G. Parrow, B. Steffen. A Semantic-Based Verification Tool for Finite-State-Systems. Protocol Specification, Testing and Verification, IX, Elsevier Science Publications B.V. (North Holland), 287–302, 1990

    Google Scholar 

  5. R. Cleaveland, J.G. Parrow, B. Steffen. The Concurrency Workbench. Workshop on Automatic Verification Methods for Finite State Systems, LNCS 407, 1989

    Google Scholar 

  6. R. Cleaveland, B. Steffen. Computing Behavioural Relations, Logically. In Proceedings ICALP'91, LNCS, 1991

    Google Scholar 

  7. R. Cleaveland, B. Steffen. A Linear-Time Model-Checking Alogorithm for the Alternation-Free Modal Mu-Calculus. In Proceedings CAV'91

    Google Scholar 

  8. D. Dhamdhere. A Fast Algorithm for Code Movement Optimization. SIGPLAN Notices, Vol. 23, 1988

    Google Scholar 

  9. E. Emerson, J. Lei, Efficient model checking in fragments of the propositional mu-calculus. In Proceedings LICS'86, 267–278, 1986

    Google Scholar 

  10. R. Giegerich. Automatic Generation of Machine Specific Code Generation. In Proceedings 9th POPL, Albuquerque, New Mexico, January, 1982

    Google Scholar 

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

    Google Scholar 

  12. G.A. Kildall. A Unified Approach to Global Program Optimization. In Proceedings 1st POPL, Boston, Massachusetts, 194–206, 1973

    Google Scholar 

  13. D. Kozen. Results on the Propositional mu-Calculus. TCS 27, 333–354, 1983

    Google Scholar 

  14. K. Larsen. Proof Systems for Hennessy-Milner Logic with Recursion, in Proceedings CAAP 1988.

    Google Scholar 

  15. P.D. Mosses. Action Semantics. To appear 1991

    Google Scholar 

  16. E. Morel, C. Renvoise. Global Optimization by Suppression of Partial Redundancies. CACM 22, 96–103, 1979

    Google Scholar 

  17. P.D. Mosses, A.A. Watt. The Use of Action Semantics. In Formal Description of Programming Concepts — III, 1986

    Google Scholar 

  18. F. Nielson. A Bibliography on Abstract Interpretations. ACM SIGPLAN Notices 21, 31–38, 1986

    Google Scholar 

  19. F. Nielson. A Denotational Framework for Data Flow Analysis. Acta Informatica 18, 265–287, 1982

    Google Scholar 

  20. G. Plotkin. A Structural Approach to Operational Semantics. University of Aarhus, DAIMI FN-19, 1981

    Google Scholar 

  21. Peter Lee, Frank Pfenning, Gene Rollins, and William Scherlis. The Ergo Support System: An Integrated Set of Tools for Prototyping Integrated Environments. SIGPLAN Notices, Vol. 24, No. 2, 25–34, February 1989

    Google Scholar 

  22. B. K. Rosen, M. N. Wegman and F. K. Zadeck. “Global Value Numbers and Redundant Computations”. 15th POPL, San Diego, California, 12–27, 1988

    Google Scholar 

  23. S. Sagiv, N. Francez, M. Rodeh, R. Wilhelm. A Logic-Based Approach to Data Flow Analysis Problems. To appear 1990

    Google Scholar 

  24. B. Steffen, J. Knoop, O. Rüthing. The Value Flow Graph: A Program Representation for Optimal Program Transformations. In Proceedings ESOP'90, LNCS 432, 1990

    Google Scholar 

  25. B. Steffen, J. Knoop, O. Rüthing. Optimal Placement of Computations within Flow Graphs: A Practical Approach. In Proceedings TAPSOFT'91, LNCS, 1991

    Google Scholar 

  26. M. Sharir, A. Pnueli. Two Approaches to Interprocedural Data Flow Analysis. In: S.S. Muchnick, N.D. Jones. Program Flow Analysis: Theory and Applications. Prentice-Hall, Englewood Cliffs, N.J., 1981

    Google Scholar 

  27. B. Steffen. Characteristic Formulae. In Proceedings ICALP'89, LNCS 372, 1989

    Google Scholar 

  28. B. Steffen. Generating Data Flow Analysis Algorithms from Modal Specifications. Technical Report of the RWTH-Aachen, to appear 1991

    Google Scholar 

  29. C. Stirling. Modal and Temporal Logics. In Handbook of Logics in Computer Science, Vol. 1, Oxford University Press, to appear 1990.

    Google Scholar 

  30. Tarski, A. “A Lattice-Theoretical Fixpoint Theorem and its Applications.” Pacific Journal of Mathematics, v. 5, 1955.

    Google Scholar 

  31. G. A. Venkatesh. A framework for construction and evaluation of high-level specifications for program analysis techniques. In Proceedings SIGPLAN'89, 1989

    Google Scholar 

  32. R. Wilhelm. Global Flow Analysis and Optimization in the MUG2 Compiler Generating System. In: S.S. Muchnick, N.D. Jones. Program Flow Analysis: Theory and Applications. Prentice-Hall, Englewood Cliffs, N.J., 1981

    Google Scholar 

  33. R. Wilhelm. Codeoptimierung mittels attributierter Transformationsgrammatiken. LNCS 26, 257–266, 1974

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Takayasu Ito Albert R. Meyer

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Steffen, B. (1991). Data flow analysis as model checking. In: Ito, T., Meyer, A.R. (eds) Theoretical Aspects of Computer Software. TACS 1991. Lecture Notes in Computer Science, vol 526. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54415-1_54

Download citation

  • DOI: https://doi.org/10.1007/3-540-54415-1_54

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54415-9

  • Online ISBN: 978-3-540-47617-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics