Automatic Invariant Testing for Finite-State Machines
This program is tentative and subject to change.
A modern trend in Formal Languages and Automata Theory education uses a programming-based approach. Following the steps of a design recipe, students use FSM, a domain-specific language embedded in Racket, to design, implement, validate, and verify deterministic and nondeterministic finite-state machines. As part of the design process, students must define state invariant predicates to validate the role of machine states. Writing thorough unit tests for state invariant predicates is notoriously difficult as test suites may grow large very quickly. Thus, making writing a thorough set of unit tests impractical. This article describes a tool to automatically and thoroughly test all such predicates for a given machine and a given set of state invariant predicates. The tool uses the given machine’s transition relation to provide proper test coverage. The result is an elegant way to test state invariants using a single expression.
This program is tentative and subject to change.
Thu 16 OctDisplayed time zone: Perth change
10:30 - 12:15 | |||
10:30 5mDay opening | Welcome Scheme | ||
10:35 25mTalk | Stak Scheme: The tiny R7RS-small implementation Scheme Yota Toyama None File Attached | ||
11:00 25mTalk | Gouki Scheme: An Embedded Scheme Implementation for Async Rust Scheme Matthew Plant OneChronos File Attached | ||
11:25 25mTalk | Automatic Invariant Testing for Finite-State Machines Scheme Marco Morazan pc, Sophia Turano Seton Hall University, Andrés M. Garced Seton Hall University, David Anthony K. Fields Seton Hall University | ||
11:50 20mTalk | Sound Default-Typed Scheme (Position Paper) Scheme Jan-Paul Ramos-Davila Boston University File Attached |