Using ACL2 To Teach Students About Software Testing

被引:0
|
作者
Gamboa, Ruben [1 ]
Thoney, Alicia [1 ]
机构
[1] Univ Wyoming, Laramie, WY 82071 USA
关键词
D O I
10.4204/EPTCS.359.4
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We report on our experience using ACL2 in the classroom to teach students about software testing. The course COSC 2300 at the University of Wyoming is a mostly traditional Discrete Mathematics course, but with a clear focus on computer science applications. For instance, the section on logic and proofs is motivated by the desire to write proofs about computer software. We emphasize that the importance of software correctness falls along a spectrum with casual programs on one end and mission-critical ones on the other. Corresponding to this spectrum is a variety of tools, ranging from unit tests, randomized testing of properties, and even formal proofs. In this paper, we describe one of the major activities, in which students use the ACL2 Sedan's counter-example generation facility to investigate properties of various existing checksum algorithms used in error detection. Students are challenged to state the relevant properties correctly, so that the counter-example generation tool is used effectively in all cases, and ACL2 can find formal proofs automatically in some of those.
引用
收藏
页码:19 / 32
页数:14
相关论文
共 50 条
  • [1] Formal Proofs About Rewriting Using ACL2
    José-Luis Ruiz-Reina
    José-Antonio Alonso
    María-José Hidalgo
    Francisco-Jesús Martín-Mateos
    [J]. Annals of Mathematics and Artificial Intelligence, 2002, 36 : 239 - 262
  • [2] Formal proofs about rewriting using ACL2
    Ruiz-Reina, JL
    Alonso, JA
    Hidalgo, MJ
    Martín-Mateos, FJ
    [J]. ANNALS OF MATHEMATICS AND ARTIFICIAL INTELLIGENCE, 2002, 36 (03) : 239 - 262
  • [3] Industrial hardware and software verification with ACL2
    Hunt, Warren A., Jr.
    Kaufmann, Matt
    Moore, J. Strother
    Slobodova, Anna
    [J]. PHILOSOPHICAL TRANSACTIONS OF THE ROYAL SOCIETY A-MATHEMATICAL PHYSICAL AND ENGINEERING SCIENCES, 2017, 375 (2104):
  • [4] ACL2 theorems about commercial microprocessors
    Brock, B
    Kaufmann, M
    Moore, JS
    [J]. FORMAL METHODS IN COMPUTER-AIDED DESIGN, 1996, 1166 : 275 - 293
  • [5] ACL2
    Gamboa, R
    [J]. SEVENTEEN PROVERS OF THE WORLD, 2006, 3600 : 55 - 66
  • [6] ACL2(ml): Machine-Learning for ACL2
    Heras, Jonathan
    Komendantskaya, Ekaterina
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2014, (152): : 61 - 75
  • [7] ACL2
    [J]. Lect. Notes Comput. Sci., 2006, (55-66):
  • [8] Integrating reasoning about ordinal arithmetic into ACL2
    Manolios, P
    Vroon, D
    [J]. FORMAL METHODS IN COMPUTER-AIDED DESIGN, PROCEEDINGS, 2004, 3312 : 82 - 97
  • [9] Integrating reasoning about ordinal arithmetic into ACL2
    Manolios, P
    Vroon, D
    [J]. FORMAL METHODS IN COMPUTER-AIDED DESIGN, 2004, 3312 : 82 - 97
  • [10] Iteration in ACL2
    Kaufmann, Matt
    Moore, J. Strother
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2020, (327): : 16 - 31