Using ACL2 To Teach Students About Software Testing

05/24/2022
by   Ruben Gamboa, et al.
0

We report on our experience using ACL2 in the classroom to teach students about software testing. The course COSC2300 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/03/2022

Automated Theorem Proving in the Classroom

We report on several scenarios of using automated theorem proving softwa...
research
06/09/2018

Engaging Millennials into Learning Formal Methods

This paper summarizes our experience in teaching courses on formal metho...
research
11/19/2021

Automated, Targeted Testing of Property-Based Testing Predicates

Context: This work is based on property-based testing (PBT). PBT is an i...
research
06/07/2021

Proof Blocks: Autogradable Scaffolding Activities for Learning to Write Proofs

Proof Blocks is a software tool which enables students to write proofs b...
research
04/27/2021

YAPS – Your Open Examination System for Activating and emPowering Students

There are numerous e-assessment systems devoted to specific domains unde...
research
10/11/2022

Optimal AdaBoost Converges

The following work is a preprint collection of formal proofs regarding t...
research
10/30/2020

Using Relational Problems to Teach Property-Based Testing

Context: The success of QuickCheck has led to the development of propert...

Please sign up or login with your details

Forgot password? Click here to reset