• DocumentCode
    1590220
  • Title

    The Specification, Verification, and Implementation of a High-Assurance Data Structure: An ACL2 Approach

  • Author

    Hardin, David S.

  • fYear
    2013
  • Firstpage
    5059
  • Lastpage
    5067
  • Abstract
    We present a complete specification and formal verification of a high-assurance data structure, namely an array-based set (or alternatively, a multiset), of arbitrary size, using the ACL2 theorem prover. This particular data structure is a sanitized version of one that was used in a high-assurance development at Rockwell Collins. We additionally demonstrate how this high-assurance specification can be readily translated to an implementation in a traditional, imperative programming language. The specification is accomplished via the ACL2 single-threaded object (stobj) formulation, as the stobj yields the most straightforward translation to traditional programming language implementations, as well as high-performance, scalable executable specifications within the ACL2 system itself. Use of the stobj is known to present certain difficulties in proof development, but we describe a simple means to access the underlying representation of the stobj, which makes reasoning much more straightforward. We discuss characteristics of ACL2 that aided the proofs, as well as ones that presented challenges. We also compare the ACL2 proof results with other verification efforts previously attempted on this data structure using model checking and symbolic execution.
  • Keywords
    Arrays; Computational modeling; Computer languages; Data models; Indexes; Sparks; ACL2; Data Structures; Formal Verification; High Assurance; Theorem Proving;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    System Sciences (HICSS), 2013 46th Hawaii International Conference on
  • Conference_Location
    Wailea, HI, USA
  • ISSN
    1530-1605
  • Print_ISBN
    978-1-4673-5933-7
  • Electronic_ISBN
    1530-1605
  • Type

    conf

  • DOI
    10.1109/HICSS.2013.541
  • Filename
    6480456