Abstract
The spectrum of a formula is the set of finite data structures in which it is valid. It is known that for some program logics the classes of spectra form complete subclasses of well known complexity classes. This means that for those logics we know how hard it is to decide the set of finite models. We extend those results by determining complexity classes corresponding to partial correctness assertions about programs from sublanguages of Clarke's language L4.
We proceed to show that syntax-directed proof systems are adequate tools for proving partial correctness assertions: It is not more difficult to construct a proof for a valid assertion than to decide its validity. This holds if the programs are simple while-programs or if they belong to some sublanguage of ALGOL like L4, for which relatively complete proof systems are rather sophisticated.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Clarke, E.M. Programming languages for which it is impossible to obtain good Hoare axiom systems, JACM 26 (1979) 129–147.
Clarke, E. M. The characterization problem for Hoare logic, Rep. CMU-CS-84-109, Carnegie-Mellon Univ. (1984).
Cook, S. A. Soundness and completeness of an axiom system for program verification, SIAM J. Comp. 7 (1978) 70–90.
Fagin, R. Generalized first-order spectra and polynomial-time recognizable sets, SIAM-AMS Proc. 7 (1974) 43–73.
German, S. M., Clarke, E. M. and Halpern, J. Y. Reasoning about procedures as parameters in the language L4, Inf. and Comp. 83 (1989) 265–359. (Earlier version: 1st LiCS (1986) 11–25)
Goerdt, A. A Hoare calculus defined by recursion on higher types, in: Proc. Logics of Programs 1985, LNCS 193, 106–117.
Goerdt, A. Characterizing complexity classes by general recursive definitions in higher types, in: E. Börger and H. Kleine-Büning, CSL '88, Proceedings, LNCS 385 (1988).
Harel, D. and Peleg, D. On static logics, dynamic logics, and complexity classes, Inf. and Contr. 60 (1984) 86–102.
Hartmanis, J., Immerman, N. and Mahany, S. One-way log-tape reductions, 19th FoCS (1978) 65–72.
Immerman, N. Languages which capture complexity classes, 15th SToC (1983) 347–354.
Jones, N. D. and Muchnik, S. S. Even simple programs are hard to analyze, JACM 24 (1977) 338–350.
Jones, N. D. and Muchnik, S. S. The complexity of finite memory programs with recursion, JACM 25 (1978) 312–321.
Juszczyk, M. On equivalence between language L4 and recursive definitions of higher types, not published (submitted for MFCS'89) Warsaw (1989).
Kfoury, A. J., Tiuryn, J. and Urzyczyn, P. The hierarchy of finitely typed functions, 2nd LiCS (1987) 225–235.
Kfoury, A. J. and Urzyczyn, P. Finitely typed functional programs. Part II: Comparisons to imperative languages, Res. Rep. Boston Univ. (1988).
Langmaack, H. On correct procedure parameter transmission in higher programming languages, Acta Inf. 2 (1973) 110–142.
Olderog, E.-R. charakterisierung Hoarescher Systeme für ALGOL-ähnliche Programmiersprachen, Dissertation, Univ. Kiel (1981).
Olderog, E.-R. A characterization of Hoare's logic for programs with PASCAL-like procedures, 15th SToC (1983) 320–329.
Tiuryn, J. and Urzyczyn, P. Some relationships between logics of programs and complexity theory, TCS 60 (1988) 83–108. (Earlier version: 24th FoCS (1983) 180–184)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hungar, H. (1991). Complexity of proving program correctness. 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_59
Download citation
DOI: https://doi.org/10.1007/3-540-54415-1_59
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