Gianfranco Rossi

dblp:r/GianfrancoRossi · DBLP profile ↗
← Back
39ranked-venue papers
3as first author
10since 2021 · last 2025
0000-0002-6970-8790ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 20 · 1 first-author · 1 since 2021Software engineering, systems software and programming languages · 19 · 1 first-author · 3 since 2021Artificial intelligence and machine learning · 6 · 4 since 2021Applied, interdisciplinary, general and emerging computing · 3 · 1 first-author · 2 since 2021Databases, data management, data science and information retrieval · 1
YearPublicationVenuePosition
2025 {log}: From a Constraint Logic Programming Language to a Formal Verification Tool
abstract
Abstract StartSet l o g EndSet { l o g } $\{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, StartSet l o g EndSet { l o g } $\{log\}$ is a constraint satisfiability solver implementing decision procedures for several fragments of set theory. Hence, StartSet l o g EndSet { l o g } $\{log\}$ can be used as a declarative, set, logic programming language and as an automated theorem prover for set theory. Over time StartSet l o g EndSet { l o g } $\{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 state machines, and test case generation. State machines are both, programs and specifications; exactly the same code works as a program and as its specification. In this way, with a few additions, a CLP language turned into a seamlessly integrated programming and automated proof system.
Maximiliano Cristiá, Alfredo Capozucca, Gianfranco Rossi
Theory Pract. Log. Program.3
2024 A Practical Decision Procedure for Quantifier-Free, Decidable Languages Extended with Restricted Quantifiers
Maximiliano Cristiá, Gianfranco Rossi
J. Autom. Reason.2
2024 A Decision Procedure for a Theory of Finite Sets with Finite Integer Intervals
abstract
In this paper we extend a decision procedure for the Boolean algebra of finite sets with cardinality constraints (ℒ |⋅| ) to a decision procedure for ℒ |⋅| extended with set terms denoting finite integer intervals (ℒ [] ). In ℒ [] interval limits can be integer linear terms including unbounded variables . These intervals are a useful extension because they allow to express non-trivial set operators such as the minimum and maximum of a set, still in a quantifier-free logic. Hence, by providing a decision procedure for ℒ [] it is possible to automatically reason about a new class of quantifier-free formulas. The decision procedure is implemented as part of the { log } (‘setlog’) tool. The paper includes a case study based on the elevator algorithm showing that { log } can automatically discharge all its invariance lemmas, some of which involve intervals.
Maximiliano Cristiá, Gianfranco Rossi
ACM Trans. Comput. Log.2
2024 Combining Type Checking and Set Constraint Solving to Improve Automated Software Verification
abstract
Abstract 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.
Maximiliano Cristiá, Gianfranco Rossi
Theory Pract. Log. Program.2
2023 Declarative Programming with Intensional Sets in Java Using JSetL
abstract
Abstract Intensional sets are sets given by a property rather than by enumerating their elements. In a previous work, we have proposed a decision procedure for a first-order logic language which provides restricted intensional sets (RISs), i.e. a sub-class of intensional sets that are guaranteed to denote finite—though unbounded—sets. In this paper, we show how RIS can be exploited as a convenient programming tool also in a conventional setting, namely the imperative O-O language Java. We do this by considering a Java library, called JSetL, that integrates the notions of logical variable, (set) unification and constraints that are typical of constraint logic programming languages into the Java language. We show how JSetL is naturally extended to accommodate for RIS and RIS constraints and how this extension can be exploited; on the one hand, to support a more declarative style of programming and, on the other hand, to effectively enhance the expressive power of the constraint language provided by the library.
Maximiliano Cristiá, Andrea Fois, Gianfranco Rossi
Comput. J.3
2023 Integrating Cardinality Constraints into Constraint Logic Programming with Sets
abstract
Abstract Formal reasoning about finite sets and cardinality is important for many applications, including software verification, where very often one needs to reason about the size of a given data structure. The Constraint Logic Programming tool $$\{ log\} $$ provides a decision procedure for deciding the satisfiability of formulas involving very general forms of finite sets, although it does not provide cardinality constraints. In this paper we adapt and integrate a decision procedure for a theory of finite sets with cardinality into $$\{ log\} $$ . The proposed solver is proved to be a decision procedure for its formulas. Besides, the new CLP instance is implemented as part of the $$\{ log\} $$ tool. In turn, the implementation uses Howe and King’s Prolog SAT solver and Prolog’s CLP(Q) library, as an integer linear programming solver. The empirical evaluation of this implementation based on +250 real verification conditions shows that it can be useful in practice. Under consideration in Theory and Practice of Logic Programming (TPLP)
Maximiliano Cristiá, Gianfranco Rossi
Theory Pract. Log. Program.2
2022 Proof Automation in the Theory of Finite Sets and Finite Set Relation Algebra
abstract
Abstract $\{log\}$ (‘setlog’) is a satisfiability solver for formulas of the theory of finite sets and finite set relation algebra (FS&RA). As such, it can be used as an automated theorem prover for this theory. $\{log\}$ is able to automatically prove a number of FS&RA theorems, but not all of them. Nevertheless, we have observed that many theorems that $\{log\}$ cannot automatically prove can be divided into a few subgoals automatically dischargeable by $\{log\}$. The purpose of this work is to present a prototype interactive theorem prover (ITP), called $\{log\}$-ITP, providing evidence that a proper integration of $\{log\}$ into world-class ITP’s can deliver a great deal of proof automation concerning FS&RA. An empirical evaluation based on 210 theorems from the TPTP and Coq’s SSReflect libraries shows a noticeable reduction in the size and complexity of the proofs with respect to Coq.
Maximiliano Cristiá, Ricardo Katz, Gianfranco Rossi
Comput. J.3
2021 Automated Proof of Bell-LaPadula Security Properties
Maximiliano Cristiá, Gianfranco Rossi
J. Autom. Reason.2
2021 Automated Reasoning with Restricted Intensional Sets
Maximiliano Cristiá, Gianfranco Rossi
J. Autom. Reason.2
2021 An Automatically Verified Prototype of the Tokeneer ID Station Specification
Maximiliano Cristiá, Gianfranco Rossi
J. Autom. Reason.2
2020 Solving Quantifier-Free First-Order Constraints Over Finite Sets and Binary Relations
Maximiliano Cristiá, Gianfranco Rossi
J. Autom. Reason.2
2018 A Set Solver for Finite Set Relation Algebra
Maximiliano Cristiá, Gianfranco Rossi
RAMiCS2
2018 Constraint Logic Programming with Polynomial Constraints over Finite Domains
abstract
This paper introduces an instantiation of the constraint logic programming scheme called CLP(PolyFD) in which variables take values from finite subsets of the integers and constraints are expressed as equalities, inequalities, and disequalities of polynomials with integer coefficients. Such constra ints, which we call polynomial constraints over finite domains, can be treated effectively by means of a specific solver under the assumption that initial approximations of the domains of variables are available. The proposed solver deals with constraints in a canonical form and it uses the modified Bernstein form of polynomials to detect the satisfiability of constraints. The solver is complete and a preliminary assessment of its performance is reported.
Federico Bergenti, Stefania Monica, Gianfranco Rossi
Fundam. Informaticae3
2017 A Decision Procedure for Restricted Intensional Sets
Maximiliano Cristiá, Gianfranco Rossi
CADE2
2016 A Decision Procedure for Sets, Binary Relations and Partial Functions
Maximiliano Cristiá, Gianfranco Rossi
CAV (1)2
2015 Nondeterministic Programming in Java with JSetL
abstract
JSetL is a Java library that endows Java with a number of facilities that are intended to support declarative and constraint (logic) programming. In this paper we show how JSetL can be used to support general forms of nondeterministic programming in
Gianfranco Rossi, Federico Bergenti
Fundam. Informaticae1
2015 Adding partial functions to Constraint Logic Programming with sets
abstract
Abstract Partial functions are common abstractions in formal specification notations such as Z, B and Alloy. Conversely, executable programming languages usually provide little or no support for them. In this paper we propose to add partial functions as a primitive feature to a Constraint Logic Programming (CLP) language, namely {log}. Although partial functions could be programmed on top of {log}, providing them as first-class citizens adds valuable flexibility and generality to the form of set-theoretic formulas that the language can safely deal with. In particular, the paper shows how the {log} constraint solver is naturally extended in order to accommodate for the new primitive constraints dealing with partial functions. Efficiency of the new version is empirically assessed by running a number of non-trivial set-theoretical goals involving partial functions, obtained from specifications written in Z.
Maximiliano Cristiá, Gianfranco Rossi, Claudia S. Frydman
Theory Pract. Log. Program.2
2013 {log} as a Test Case Generator for the Test Template Framework
Maximiliano Cristiá, Gianfranco Rossi, Claudia S. Frydman
SEFM2
2013 Preface
abstract
This special issue of Fundamenta Informaticae contains the revised, extended versions of selected papers presented at the Italian Conference on Computational Logic (Convegno Italiano di Logica Computazionale, CILC 2011) which was held at the University "G.d'Annunzio" of Chieti-Pescara, Italy.This conference was the twenty-sixth edition of the annual meeting organized by the Italian Association for Logic Programming (GULP, Gruppo Ricercatori e Utenti di Logic Programming), which, since its first edition in 1986, constitutes the main Italian forum for researchers, users, and developers to discuss work and exchange ideas on Computational Logic and related areas, such as Artificial Intelligence and Deductive Databases.All these areas had a very significant growth over the last decades and nowadays they all play a crucial role in the fields of Information Processing and Computer Science.The program of the CILC 2011 conference featured thirty papers (twenty-one which had a long presentation and nine which had a short presentation), two invited talks: (i) one by A. Omicini (University of Bologna) on: "Coordination Models and Technologies toward Self-Organising Systems", and (ii) one by F. Spoto (University of Verona) on: "Static Analysis of Java.Can we be logical?", and a tutorial by F. Riguzzi (University of Ferrara) on: "Probabilistic Logic Languages".The quality of the technical contributions and the number of participants (about fifty, most of whom were young researchers) confirm that the Italian Computational Logic community is very lively and active.Some of the presented papers were selected and their authors were invited to submit an improved version for publication in this special issue.The papers accepted in this issue passed two rounds of careful reviews by qualified international referees, to whom we express our deep gratitude for their comments which helped the authors to improve the quality of their papers.
Fabio Fioravanti, Alberto Pettorossi, Gianfranco Rossi
Fundam. Informaticae3
2011 Programming with partially specified aggregates in Java
Federico Bergenti, L. Chiarabini, Gianfranco Rossi
Comput. Lang. Syst. Struct.3
2009 Answer Set Programming with Constraints Using Lazy Grounding
Alessandro Dal Palù, Agostino Dovier, Enrico Pontelli, Gianfranco Rossi
ICLP4
2009 Integrating Finite Domain and Set Constraints into a Set-based Constraint Language
abstract
This paper summarizes a constraint solving technique that is used to reason effectively in the scope of a set-based constraint language that supersedes existing finite domain languages. The first part of this paper motivates the presented work and introduces the constraint language, namely the language of Hereditarily Finite Sets (HFS). Then, the proposed constraint solver is detailed in terms of a set of rewrite rules that exploit finite domain reasoning within the HFS language. The proposed solution improves previous work on CLP (SET) [11] by integrating intervals into the constraint system and by providing a new layered architecture for the solver that supports more effective constraint solving strategies. On the other hand, the proposed approach provides enhanced expressivity and flexibility of domain representation than those usually found in existing finite domain constraint solvers.
Federico Bergenti, Alessandro Dal Palù, Gianfranco Rossi
Fundam. Informaticae3
2009 GASP: Answer Set Programming with Lazy Grounding
abstract
In recent years, Answer Set Programming has gained popularity as a viable paradigm for applications in knowledge representation and reasoning. This paper presents a novel methodology to compute answer sets of an answer set program. The proposed methodology maintains a bottom-up approach to the computation of answer sets (as in existing systems), but it makes use of a novel structuring of the computation, that originates from the non-ground version of the program. Grounding is lazily performed during the computation of the answer sets. The implementation has been realized using Constraint Logic Programming over finite domains.
Alessandro Dal Palù, Agostino Dovier, Enrico Pontelli, Gianfranco Rossi
Fundam. Informaticae4
2008 A uniform approach to constraint-solving for lists, multisets, compact lists, and sets
abstract
Lists, multisets, and sets are well-known data structures whose usefulness is widely recognized in various areas of computer science. They have been analyzed from an axiomatic point of view with a parametric approach in Dovier et al. [1998], where the relevant unification algorithms have been developed. In this article, we extend these results considering more general constraints, namely, equality and membership constraints and their negative counterparts.
Agostino Dovier, Carla Piazza, Gianfranco Rossi
ACM Trans. Comput. Log.3
2007 JSetL: a Java library for supporting declarative programming in Java
abstract
Abstract In this paper we present a Java library—called JSetL—that offers a number of facilities to support declarative programming such as those usually found in logic or functional declarative languages: logical variables, list and set data structures (possibly partially specified), unification and constraint solving over sets, non‐determinism. The paper describes the main features of JSetL and it shows, through a number of simple examples, how these features can be exploited to support a real declarative programming style in Java. Copyright © 2006 John Wiley & Sons, Ltd.
Gianfranco Rossi, E. Panegai, Elisabetta Poleo
Softw. Pract. Exp.1
2006 Set unification
abstract
The unification problem in algebras capable of describing sets has been tackled, directly or indirectly, by many researchers and it finds important applications in various research areas, e.g. deductive databases, theorem proving, static analysis, rapid software prototyping. The various solutions proposed are spread across a large literature. In this paper we provide a uniform presentation of unification of sets, formalizing it at the level of set theory. We address the problem of deciding existence of solutions at an abstract level. This provides also the ability to classify different types of set unification problems. Unification algorithms are uniformly proposed to solve the unification problem in each of such classes. The algorithms presented are partly drawn from the literature – and properly revisited and analyzed – and partly novel proposals. In particular, we present a new goal-driven algorithm for general unification.
Agostino Dovier, Enrico Pontelli, Gianfranco Rossi
Theory Pract. Log. Program.3
2003 Intensional Sets in CLP
Agostino Dovier, Enrico Pontelli, Gianfranco Rossi
ICLP3
2003 Integrating finite domain constraints and CLP with sets
abstract
In this paper we propose a semantically well-founded combination of the constraint solvers used in the constraint programming languages CLP(SET) and CLP(FD). This work demonstrates that it is possible to provide efficient executions (through CLP(FD) solvers) while maintaining the expressive power and flexibility of the CLP(SET) language. We develop a combined constraint solver and we show how static analysis can help in organizing the distribution of constraints to the two constraint solvers.
Alessandro Dal Palù, Agostino Dovier, Enrico Pontelli, Gianfranco Rossi
PPDP4
2000 A necessary condition for Constructive Negation in Constraint Logic Programming
Agostino Dovier, Enrico Pontelli, Gianfranco Rossi
Inf. Process. Lett.3
2000 Sets and constraint logic programming
abstract
In this paper we present a study of the problem of handling constraints made by conjunctions of positive and negative literals based on the predicate symbols =, ∈,∪ and || (i.e., disjointness of two sets) in a (hybrid) universe of finite sets . We also review and compare the main techniques considered to represent finite sets in the context of logic languages. The resulting contraint algorithms are embedded in a Constraint Logic Programming (CLP) language which provides finite sets—along with basic set-theoretic operations—as first-class objects of the language. The language—called CLP( SET )—is an instance of the general CLP framework, and as such it inherits all the general features and theoretical results of this scheme. We provide, through programming examples, a taste of the expressive power offered by programming in CLP( SET ).
Agostino Dovier, Carla Piazza, Enrico Pontelli, Gianfranco Rossi
ACM Trans. Program. Lang. Syst.4
1999 ACI1 Constraints
Agostino Dovier, Carla Piazza, Enrico Pontelli, Gianfranco Rossi
ICLP4
1998 A Uniform Axiomatic View of Lists, Multisets, and Sets, and the Relevant Unification Algorithms
abstract
The first-order theories of lists, multisets, compact lists (i.e., lists where the number of contiguous occurrences of each element is immaterial), and sets are introduced via axioms. Such axiomatizations are shown to be very well-suited for the integration with free functor symbols governed by the classical Clark's axioms in the context of (Constraint) Logic Programming. Adaptations of the extensionality principle to the various theories taken into account is then exploited in the design of unification algorithms for the considered data structures. All the theories presented can be combined providing frameworks to deal with several of the proposed data structures simultaneously. The unification algorithms proposed can be combined (merged) as well, to produce engines for such combination theories.
Agostino Dovier, Alberto Policriti, Gianfranco Rossi
Fundam. Informaticae3
1994 Compiling Intensional Sets in CLP
Paola Bruscoli, Agostino Dovier, Enrico Pontelli, Gianfranco Rossi
ICLP4
1993 Programs as Data in an Extended Prolog
abstract
The ability to deal with programs as data is a valuable feature of a programming language which can be advantageously exploited in a number of different applications, particularly in the artificial intelligence field and in the construction of programming environment tools. In this paper we describe the facilities for dealing with programs as data supplied by an extended Prolog, called EnvProlog. Such facilities are considered from a meta-programming viewpoint and are based on the capability of the language to designate (object level) programs via structural descriptive names (i.e. program names and program structures). A number of new built-in meta-predicates are supplied dealing with programs and meta-level representations of programs. Examples are given showing some interesting applications of these new facilities, in particular for program structuring and program composition. Finally, the implementation of the programs as data facility within the EnvProlog interpreter is briefly discussed.
Gianfranco Rossi
Comput. J.1
1993 Parametric Composable Modules in a Logic Programming Language
Evelina Lamma, Paola Mello, Gianfranco Rossi
Comput. Lang.3
1992 Extending Horn Clause Logic with Implication Goals
Laura Giordano 0001, Alberto Martelli, Gianfranco Rossi
Theor. Comput. Sci.3
1991 {log}: A Logic Programming Language with Finite Sets
Agostino Dovier, Eugenio G. Omodeo, Enrico Pontelli, Gianfranco Rossi
ICLP4
1988 Enhancing Prolog to Support Prolog Programming Environments
Alberto Martelli, Gianfranco Rossi
ESOP2
1986 On the Semantics of Logic Programing Languages
Alberto Martelli, Gianfranco Rossi
ICLP2