{log}: From a Constraint Logic Programming Language to a Formal Verification Tool
Maximiliano Cristi\'a, Alfredo Capozucca, Gianfranco Rossi

TL;DR
This paper presents a comprehensive formal verification environment built on a Constraint Logic Programming language called {log}, which supports set theory, state machine modeling, automated verification, and test case generation.
Contribution
It introduces an integrated environment that transforms {log} from a CLP language into a unified system for programming and formal verification of state machines.
Findings
{log} can be used as a declarative set-based programming language.
The environment supports automated verification and test case generation for state machines.
State machines serve as both programs and specifications in the system.
Abstract
{log} (read 'setlog') was born as a Constraint Logic Programming (CLP) language where sets and binary relations are first-class citizens, thus fostering set programming. Internally, {log} is a constraint satisfiability solver implementing decision procedures for several fragments of set theory. Hence, {log} can be used as a declarative, set, logic programming language and as an automated theorem prover for set theory. Over time {log} has been extended with some components integrated to the satisfiability solver thus providing a formal verification environment. In this paper we make a comprehensive presentation of this environment which includes a language for the description of state machines based on set theory, an interactive environment for the execution of functional scenarios over state machines, a generator of verification conditions for state machines, automated verification of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
