ACL2s Systems Programming

被引:2
|
作者
Walter, Andrew T. [1 ]
Manolios, Panagiotis [1 ]
机构
[1] Northeastern Univ, Boston, MA 02115 USA
关键词
PIPELINED MACHINES;
D O I
10.4204/EPTCS.359.12
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
ACL2 provides a systems programming capability that allows one to write code that uses and extends ACL2 inside of ACL2. However, for soundness reasons, ACL2 bars the unrestricted use of certain kinds of programming constructs, like destructive updates, higher-order functions, eval, and arbitrary macros. We devised a methodology for writing code in Common Lisp that allows one to access ACL2, ACL2s, and Common Lisp functionality in a unified way. We arrived at this methodology in the process of developing the ACL2 Sedan (ACL2s) and using it as a key component in formal methods-enabled projects relating to gamified verification, education, proof checking, interfacing with external theorem provers and security. The methodology includes a library for performing ACL2 queries from Common Lisp, as well as guidelines and utilities that help address common needs. We call this methodology "ACL2s systems programming," to distinguish it from ACL2 systems programming. We show how our methodology makes it possible to easily develop tools that interface with ACL2 and ACL2s, and describe our experience using it in our research.
引用
收藏
页码:134 / 150
页数:17
相关论文
共 50 条
  • [1] ACL2s: "The ACL2 Sedan"
    Dillinger, Peter C.
    Manolios, Panagiotis
    Vroon, Daron
    Moore, J. Strother
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 174 (02) : 3 - 18
  • [2] ACL2s: "The ACL2 sedan"
    Dillinger, Peter C.
    Manolios, Panagiotis
    Vroon, Daron
    Moore, J. Strother
    [J]. 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: ICSE 2007 COMPANION VOLUME, PROCEEDINGS, 2007, : 59 - +
  • [3] Verification of GossipSub in ACL2s
    Kumar, Ankit
    von Hippel, Max
    Manolios, Panagiotis
    Nita-Rotaru, Cristina
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2023, 393 : 113 - 132
  • [4] Proving Skipping Refinement with ACL2s
    Jain, Mitesh
    Manolios, Panagiotis
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2015, (192): : 111 - 127
  • [5] Automated Grading of Automata with ACL2s
    Kumar, Ankit
    Walter, Andrew
    Manolios, Panagiotis
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2023, (375): : 77 - 91
  • [6] ACL: a tool for conceptual programming
    Balmas, F
    [J]. SEKE '96: THE 8TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, PROCEEDINGS, 1996, : 198 - 205
  • [7] PROGRAMMING SYSTEMS .2.
    GILLETTE, HR
    [J]. DATAMATION, 1968, 14 (11): : 122 - &
  • [8] Comparing verification systems: Interactive consistency in ACL2
    Young, WD
    [J]. COMPASS '96 - PROCEEDINGS OF THE ELEVENTH ANNUAL CONFERENCE ON COMPUTER ASSURANCE: SYSTEMS INTEGRITY, SOFTWARE SAFETY, PROCESS SECURITY, 1996, : 35 - 45
  • [9] Comparing verification systems: Interactive consistency in ACL2
    Young, WD
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1997, 23 (04) : 214 - 223
  • [10] COMPARING 2 FUNCTIONAL PROGRAMMING SYSTEMS
    HAILPERN, B
    HUYNH, T
    REVESZ, G
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1989, 15 (05) : 532 - 542