Search-based Inference of Class Invariants

Many techniques in formal verification and software testing rely on repOk routines to verify the consistency and validity of software components with complex data representations. A repOk function encodes the state properties necessary for an instance to be a valid object of the class under analysis, enabling early error detection and simplifying debugging. However, writing a correct and complete repOk can be challenging. This paper introduces Express, the first search-based algorithm designed to automatically generate a correct repOk for a given class. Express leverages simulated annealing, using the source code and test suite of the class under analysis to iteratively construct a repOk. We demonstrate how Express works on the LinkedList class of the Java standard library, and show that it produces a correct and complete repOK.

Authors

Institutions

Publication Details

Journal
Proceedings of the Genetic and Evolutionary Computation Conference Companion
Published
2025-07-14
DOI
https://doi.org/10.1145/3712255.3726698
Primary Topic
Software Testing and Debugging Techniques
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Search-based Inference of Class Invariants

Juan Manuel Copia, Nazareno Aguirre, Alessandra Gorla, Facundo Molina et al.
Proceedings of the Genetic and Evolutionary Computation Conference Companion
Software Testing and Debugging Techniques
article

Search-based Inference of Class Invariants

Juan Manuel Copia, Nazareno Aguirre, Alessandra Gorla, Facundo Molina, Pablo Ponzio
article en

Abstract

Many techniques in formal verification and software testing rely on repOk routines to verify the consistency and validity of software components with complex data representations. A repOk function encodes the state properties necessary for an instance to be a valid object of the class under analysis, enabling early error detection and simplifying debugging. However, writing a correct and complete repOk can be challenging. This paper introduces Express, the first search-based algorithm designed to automatically generate a correct repOk for a given class. Express leverages simulated annealing, using the source code and test suite of the class under analysis to iteratively construct a repOk. We demonstrate how Express works on the LinkedList class of the Java standard library, and show that it produces a correct and complete repOK.

Proceedings of the Genetic and Evolutionary Computation Conference Companion
Universidad Nacional de Río Cuarto (AR), IMDEA Software Institute (ES), Universidad Politécnica de Madrid (ES)
Agencia Estatal de Investigación
Openalex Percentile: Top 60%
Software Testing and Debugging Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.