We study from a computability perspective static program analysis, namely detecting sound program assertions, and verification, namely sound checking of program assertions. We first design a general computability model for domains of program assertions and corresponding program analysers and verifiers. Next, we formalize and prove an instantiation of Rice’s theorem for static program analysis and verification. Then, within this general model, we provide and show a precise statement of the popular belief that program analysis is a harder problem than program verification: we prove that for finite domains of program assertions, program analysis and verification are equivalent problems, while for infinite domains, program analysis is strictly harder than verification.
CITATION STYLE
Cousot, P., Giacobazzi, R., & Ranzato, F. (2018). Program analysis is harder than verification: A computability perspective. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 10982 LNCS, pp. 75–95). Springer Verlag. https://doi.org/10.1007/978-3-319-96142-2_8
Mendeley helps you to discover research relevant for your work.