Abstract
Programs rely on data structures to store and manipulate data in complex ways. Therefore, verifying these programs requires decision procedures that reason about the data structures. This chapter discusses fragments and decision procedures for reasoning about arrays and array-like data structures: arrays with anonymous or uninterpreted indices (Section 11.1), the familiar arrays of C and other imperative languages with integer indices (Section 11.2), and hashtables (Section 11.3).
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
Bibliographic Remarks
A. R. Bradley. Safety Analysis of Systems. PhD thesis, Stanford University, June 2007.
A. R. Bradley, Z. Manna, and H. B. Sipma. What’s decidable about arrays? In Verification Model Checking and Abstract Interpretation, volume 3855 of LNCS, pages 427–442. Springer-Verlag, January 2006.
J. Jaffar. Presburger arithmetic with array segments. Information Processing Letters, 12(2):79–82, 1981.
J. King. A Program Verifier. PhD thesis, Carnegie Mellon University, September 1969.
P. Mateti. A decision procedure for the correctness of a class of programs. Journal of the ACM, 28(2), 1981.
J. McCarthy. Towards a mathematical science of computation. In International Federation for Information Processing, pages 21–28, 1962.
A. Stump, C. W. Barrett, D. L. Dill, and J. Levitt. A decision procedure for an extensional theory of arrays. In Logic in Computer Science, pages 29–37. IEEE Computer Society, 2001.
N. Suzuki and D. Jefferson. Verification decidability of Presburger array programs. Journal of the ACM, 27(1):191–205, January 1980.
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
(2007). Arrays. In: The Calculus of Computation. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74113-8_11
Download citation
DOI: https://doi.org/10.1007/978-3-540-74113-8_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74112-1
Online ISBN: 978-3-540-74113-8
eBook Packages: Computer ScienceComputer Science (R0)