Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Automatic synthesis of optimal invariant assertions: Mathematical foundations

Published: 01 August 1977 Publication History

Abstract

The problem of discovering invariant assertions of programs is explored in light of the fixpoint approach in the static analysis of programs, Cousot [1977a], Cousot[1977b].
In section 2 we establish the lattice theoric foundations upon which the synthesis of invariant assertions is based. We study the resolution of a fixpoint system of equations by Jacobi's successive approximations method. Under continuity hypothesis we show that any chaotic iterative method converges to the optimal solution. In section 3 we study the deductive semantics of programs. We show that a system of logical forward equations can be associated with a program using the predicate transformer rules which define the semantics of elementary instructions. The resolution of this system of semantic equations by chaotic iterations leads to the optimal invariants which exactly define the semantics of this program. Therefore these optimal invariants can be used for total correctness proofs (section 4). Next we show that usually a system of inequations is used as a substitute for the system of equations. Hence the solutions to this system of inequations are approximate invariants which can only be used for proofs of partial correctness (section 5). In section 6 we show that symbolic execution of programs consists in fact in solving the semantic equations associated with this program. The construction of the symbolic execution tree corresponds to the chaotic successive approximations method. Therefore symbolic execution permits optimal invariant assertions to be discovered provided that one can pass to the limit, that is consider infinite paths in the symbolic execution tree. Induction nrinciDles can be used for that purpose. In section 7 we show how difference equations can be utilized to discover the general term of the sequence of successive approximations so that optimal invariants are obtained by a mere passage to the limit. In section 8 we show that an approximation of the optimal solution to a fixpoint system of equations can be obtained by strengthening the term of a chaotic iteration sequence. This formalizes the synthesis of approximate invariants by heuristic methods. Various examples provide a helpful intuitive support to the technical sections.

References

[1]
Birkhoff,G. Lattice Theory. 3rd ed., Colloquium Publications, Vol.XXV, AMS, Providence, R.I., 1967.
[2]
Cheatham, T.E., and Townley, J.A. Symbolic evaluation of programs : a look at loop analysis. Proc. of the 1976 ACM Symp. on Symbolic and Algebraic Computation, New York, Aug.1976.
[3]
Cohen, J., and Katcoff,J. Symbolic solution of finite difference equations. Research Report, Physics Dept., Brandeis U., Waltham, Mass., July 1976.
[4]
Cousot, P., and Cousot,R. Abstract interpretation : a unified lattice model for static analysis of programs by construction or approximation of fixpoints. Conf. Rec. of the Fourth ACM Symp. on Principles of Programming Languages, Los Angeles, Calif., Jan.1977, 238-252.
[5]
Cousot,P., and Cousot,R. Static determination of dynamic properties of recursive procedures. IFIP W.G.2.2. Working Conference on Formal Description of Programming Concepts, St. Andrews, New Brunswick, Canada, Aug.1977.
[6]
Dijkstra, E.W. A discipline of programming. Prentice Hall, New Jersey, 1976.
[7]
Elspas,B. The semiautomatic generation of inductive assertions for proving program correctness. Research Rep. SRI, Menlo Park, Calif., July 1974.
[8]
Elspas, B., Green, M., Levitt, K., and Waldinger, R. Research in interactive program proving techniques. SRI, Menlo Park, Calif., May 1972.
[9]
Hantler,S.L., and King, J. An introduction to proving the correctness of programs. Computing Surveys 8, 2(Sept.1976), 331-353.
[10]
Katz, S., and Manna, Z. Logical analysis of programs. Comm. ACM 19, 4(April 1976), 188-206.
[11]
Kleene, S.C. Introduction to metamathematics. North-Holland Pub. Co., Amsterdam, 1952, 348-349.
[12]
King, J. A program verifier. Ph.D. Th., Dept. of Computer Sci., Carnegie-Mellon U., Pittsburgh, Pa., 1969.
[13]
Sintzoff, M. Vérification d'assertions pour des functions utilisables comme valeurs et affectant des variables extérieures. Proc. of Inter. Symp. on Proving and Improving Programs, Arcs et Senans, France, July 1975, 11-27.
[14]
Tarski, A. A lattice-theoretical fixpoint theorem and its applications. Pacific J. Math. 5,(1955), 285-309.
[15]
Wegbreit, B. Mechanical program analysis. Comm. ACM 18, 9(Sept.1975), 528-539.

Cited By

View all
  • (2016)Antichains for the Verification of Recursive ProgramsNetworked Systems10.1007/978-3-319-26850-7_22(322-336)Online publication date: 23-Mar-2016
  • (2024)Invariant relations for affine loopsActa Informatica10.1007/s00236-024-00457-961:3(261-314)Online publication date: 13-May-2024
  • (2022)Computing program functionsProceedings of the IEEE/ACM 10th International Conference on Formal Methods in Software Engineering10.1145/3524482.3527655(102-112)Online publication date: 18-May-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGART Bulletin
ACM SIGART Bulletin Just Accepted
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
August 1977
179 pages
ISSN:0163-5719
DOI:10.1145/872736
Issue’s Table of Contents
  • cover image ACM Conferences
    Proceedings of the 1977 symposium on Artificial intelligence and programming languages
    August 1977
    185 pages
    ISBN:9781450378741
    DOI:10.1145/800228

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 August 1977
Published in SIGAI , Issue 64

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)108
  • Downloads (Last 6 weeks)29
Reflects downloads up to 16 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2016)Antichains for the Verification of Recursive ProgramsNetworked Systems10.1007/978-3-319-26850-7_22(322-336)Online publication date: 23-Mar-2016
  • (2024)Invariant relations for affine loopsActa Informatica10.1007/s00236-024-00457-961:3(261-314)Online publication date: 13-May-2024
  • (2022)Computing program functionsProceedings of the IEEE/ACM 10th International Conference on Formal Methods in Software Engineering10.1145/3524482.3527655(102-112)Online publication date: 18-May-2022
  • (2021)Assume, Capture, Verify, Establish: Ingredients for Scalable Software Analysis2021 IEEE 21st International Conference on Software Quality, Reliability and Security Companion (QRS-C)10.1109/QRS-C55045.2021.00068(415-424)Online publication date: Dec-2021
  • (2016)Composite Constant Propagation and its Application to Android Program AnalysisIEEE Transactions on Software Engineering10.1109/TSE.2016.255044642:11(999-1014)Online publication date: 1-Nov-2016
  • (2015)Composite constant propagationProceedings of the 37th International Conference on Software Engineering - Volume 110.5555/2818754.2818767(77-88)Online publication date: 16-May-2015
  • (2015)Analysis of Dynamic Process NetworksProceedings of the 21st International Conference on Tools and Algorithms for the Construction and Analysis of Systems - Volume 903510.1007/978-3-662-46681-0_11(164-178)Online publication date: 11-Apr-2015
  • (2011)Finding Almost-Invariants in Distributed SystemsProceedings of the 2011 IEEE 30th International Symposium on Reliable Distributed Systems10.1109/SRDS.2011.29(177-182)Online publication date: 4-Oct-2011
  • (2011)Incremental Computation of Succinct Abstractions for Hybrid SystemsFormal Modeling and Analysis of Timed Systems10.1007/978-3-642-24310-3_19(271-285)Online publication date: 2011
  • (2010)Parallelizing a symbolic compositional model-checking algorithmProceedings of the 6th international conference on Hardware and software: verification and testing10.5555/1987082.1987091(46-59)Online publication date: 4-Oct-2010
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media