Combining Type Checking and Set Constraint Solving to Improve Automated Software Verification

This technical note shows how we have combined prescriptive type checking and constraint solving to increase automation during software verification. We do so by defining a type system and implementing a typechecker for $\{log\}$ (read ‘setlog’), a Constraint Logic Programming language and satisfiab...

Full description

Saved in:
Bibliographic Details
Published in:Theory and practice of logic programming Vol. 24; no. 5; pp. 1011 - 1030
Main Authors: CRISTIÁ, MAXIMILIANO, ROSSI, GIANFRANCO
Format: Journal Article
Language:English
Published: 01.09.2024
ISSN:1471-0684, 1475-3081
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:This technical note shows how we have combined prescriptive type checking and constraint solving to increase automation during software verification. We do so by defining a type system and implementing a typechecker for $\{log\}$ (read ‘setlog’), a Constraint Logic Programming language and satisfiability solver based on set theory. The constraint solver is proved to be safe w.r.t. the type system. Two industrial-strength case studies are presented where this combination is used with very good results.
ISSN:1471-0684
1475-3081
DOI:10.1017/S1471068424000206