English

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

Logic in Computer Science 2025-01-22 v3 Programming Languages

Abstract

In this paper we show how prescritive type checking and constraint solving can be combined 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 (CLP) language and satisfiability solver based on set theory. Hence, we proceed as follows: a) a type system for {log} is defined; b) the constraint solver is proved to be safe w.r.t. the type system; c) the implementation of a concrete typechecker is presented; d) the integration of type checking and set constraint solving to increase automation during software verification is discussed; and f) two industrial-strength case studies are presented where this combination is used with very good results. Under consideration in Theory and Practice of Logic Programming (TPLP)

Keywords

Cite

@article{arxiv.2205.01713,
  title  = {Combining Type Checking and Set Constraint Solving to Improve Automated Software Verification},
  author = {Maximiliano Cristiá and Gianfranco Rossi},
  journal= {arXiv preprint arXiv:2205.01713},
  year   = {2025}
}

Comments

Under consideration in Theory and Practice of Logic Programming (TPLP)

R2 v1 2026-06-24T11:06:18.276Z