constraint logic programming
Recently Published Documents


TOTAL DOCUMENTS

363
(FIVE YEARS 18)

H-INDEX

25
(FIVE YEARS 1)

Author(s):  
MAXIMILIANO CRISTIÁ ◽  
GIANFRANCO ROSSI

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)


2020 ◽  
Vol 177 (3-4) ◽  
pp. 359-383
Author(s):  
Fred Mesnard ◽  
Étienne Payet ◽  
Germán Vidal

Concolic testing is a well-known validation technique for imperative and object oriented programs. In a previous paper, we have introduced an adaptation of this technique to logic programming. At the heart of our framework lies a specific procedure that we call “selective unification”. It is used to generate appropriate run-time goals by considering all possible ways an atom can unify with the heads of some program clauses. In this paper, we show that the existing algorithm for selective unification is not complete in the presence of non-linear atoms. We then prove soundness and completeness for a restricted version of the problem where some atoms are required to be linear. We also consider concolic testing in the context of constraint logic programming and extend the notion of selective unification accordingly.


2020 ◽  
pp. 1-17
Author(s):  
Amelia Bădică ◽  
Costin Bădică ◽  
Mirjana Ivanović

PLoS ONE ◽  
2020 ◽  
Vol 15 (4) ◽  
pp. e0231331
Author(s):  
Shengbing Ren ◽  
Weijia Zhou ◽  
Haiwei Zhou ◽  
Lei Xia

2019 ◽  
Vol 19 (5-6) ◽  
pp. 773-789 ◽  
Author(s):  
GONZAGUE YERNAUX ◽  
WIM VANHOOF

AbstractAnti-unification refers to the process of generalizing two (or more) goals into a single, more general, goal that captures some of the structure that is common to all initial goals. In general one is typically interested in computing what is often called a most specific generalization, that is a generalization that captures a maximal amount of shared structure. In this work we address the problem of anti-unification in CLP, where goals can be seen as unordered sets of atoms and/or constraints. We show that while the concept of a most specific generalization can easily be defined in this context, computing it becomes an NP-complete problem. We subsequently introduce a generalization algorithm that computes a well-defined abstraction whose computation can be bound to a polynomial execution time. Initial experiments show that even a naive implementation of our algorithm produces acceptable generalizations in an efficient way.


Sign in / Sign up

Export Citation Format

Share Document