Industrial Hardware and Software Verification with rsta.royalsocietypublishing.org ACL2 1 1 Warren A. Hunt, Jr. , Matt Kaufmann , 1 2 Research J Strother Moore and Anna Slobodova 1 Department of Computer Science Article submitted to journal University of Texas at Austin e-mail: {hunt,kaufmann,moore}@cs.utexas.edu 2 Centaur Technology, Inc. Subject Areas: 7600-C N. Capital of Texas Hwy, Suite 300 xxxxx, xxxxx, xxxx Austin, TX 78731 Keywords: e-mail:
[email protected] xxxx, xxxx, xxxx ACL2 has seen sustained industrial use since the mid 1990s. Companies that have used ACL2 Author for correspondence: regularly include AMD, Centaur Technology, IBM, J Strother Moore Intel, Kestrel Institute, Motorola/Freescale, Oracle, e-mail:
[email protected] and Rockwell Collins. This paper focuses on how and why ACL2 is used in industry. ACL2 is well-suited to its industrial application to numerous software and hardware systems because it is an integrated programming/proof environment supporting a subset of the ANSI standard Common Lisp programming language. As a programming language ACL2 permits the coding of efficient and robust programs; as a prover ACL2 can be fully automatic but provides many features permitting domain-specific human- supplied guidance at various levels of abstraction. ACL2 specifications and models often serve as efficient execution engines for the modeled artifacts while permitting formal analysis and proof of properties. Crucially, ACL2 also provides support for the development and verification of other formal analysis tools. However, ACL2 did not find its way into industrial use merely because of its technical features. The core ACL2 user/development community has a shared vision of making mechanized verification routine when appropriate and has been committed to this vision for the quarter century since the Computational Logic, Inc., Verified Stack.