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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
J. Bradfield, C.Stirling. Local Model Checking for Finite State Spaces. LFCS Report Series ECS-LFCS-90-115, June 1990
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
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
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
R. Cleaveland, J.G. Parrow, B. Steffen. The Concurrency Workbench. Workshop on Automatic Verification Methods for Finite State Systems, LNCS 407, 1989
R. Cleaveland, B. Steffen. Computing Behavioural Relations, Logically. In Proceedings ICALP'91, LNCS, 1991
R. Cleaveland, B. Steffen. A Linear-Time Model-Checking Alogorithm for the Alternation-Free Modal Mu-Calculus. In Proceedings CAV'91
D. Dhamdhere. A Fast Algorithm for Code Movement Optimization. SIGPLAN Notices, Vol. 23, 1988
E. Emerson, J. Lei, Efficient model checking in fragments of the propositional mu-calculus. In Proceedings LICS'86, 267–278, 1986
R. Giegerich. Automatic Generation of Machine Specific Code Generation. In Proceedings 9th POPL, Albuquerque, New Mexico, January, 1982
S.M. Hecht Flow Analysis of Computer Programs. Elsevier, North Holland, 1977
G.A. Kildall. A Unified Approach to Global Program Optimization. In Proceedings 1st POPL, Boston, Massachusetts, 194–206, 1973
D. Kozen. Results on the Propositional mu-Calculus. TCS 27, 333–354, 1983
K. Larsen. Proof Systems for Hennessy-Milner Logic with Recursion, in Proceedings CAAP 1988.
P.D. Mosses. Action Semantics. To appear 1991
E. Morel, C. Renvoise. Global Optimization by Suppression of Partial Redundancies. CACM 22, 96–103, 1979
P.D. Mosses, A.A. Watt. The Use of Action Semantics. In Formal Description of Programming Concepts — III, 1986
F. Nielson. A Bibliography on Abstract Interpretations. ACM SIGPLAN Notices 21, 31–38, 1986
F. Nielson. A Denotational Framework for Data Flow Analysis. Acta Informatica 18, 265–287, 1982
G. Plotkin. A Structural Approach to Operational Semantics. University of Aarhus, DAIMI FN-19, 1981
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
B. K. Rosen, M. N. Wegman and F. K. Zadeck. “Global Value Numbers and Redundant Computations”. 15th POPL, San Diego, California, 12–27, 1988
S. Sagiv, N. Francez, M. Rodeh, R. Wilhelm. A Logic-Based Approach to Data Flow Analysis Problems. To appear 1990
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
B. Steffen, J. Knoop, O. Rüthing. Optimal Placement of Computations within Flow Graphs: A Practical Approach. In Proceedings TAPSOFT'91, LNCS, 1991
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
B. Steffen. Characteristic Formulae. In Proceedings ICALP'89, LNCS 372, 1989
B. Steffen. Generating Data Flow Analysis Algorithms from Modal Specifications. Technical Report of the RWTH-Aachen, to appear 1991
C. Stirling. Modal and Temporal Logics. In Handbook of Logics in Computer Science, Vol. 1, Oxford University Press, to appear 1990.
Tarski, A. “A Lattice-Theoretical Fixpoint Theorem and its Applications.” Pacific Journal of Mathematics, v. 5, 1955.
G. A. Venkatesh. A framework for construction and evaluation of high-level specifications for program analysis techniques. In Proceedings SIGPLAN'89, 1989
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
R. Wilhelm. Codeoptimierung mittels attributierter Transformationsgrammatiken. LNCS 26, 257–266, 1974
Author information
Authors and Affiliations
Editor information
Rights 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