English
Related papers

Related papers: Analysis and Transformation of Constrained Horn Cl…

200 papers

C-RASP is a simple programming language that was recently shown to capture concepts expressible by transformers. In this paper, we develop new algorithmic techniques for automatically verifying C-RASPs. To this end, we establish a…

Machine Learning · Computer Science 2026-05-19 Hongjian Jiang , Matthew Hague , Philipp Rümmer , Anthony Widjaja Lin

CHR is a declarative, concurrent and committed choice rule-based constraint programming language. We extend CHR with multiset comprehension patterns, providing the programmer with the ability to write multiset rewriting rules that can match…

Programming Languages · Computer Science 2014-06-10 Edmund S. L. Lam , Iliano Cervesato

Requirements over strings, commonly represented using natural language (NL), are particularly relevant for software systems due to their heavy reliance on string data manipulation. While individual requirements can usually be analyzed…

Software Engineering · Computer Science 2025-06-23 Boqi Chen , Aren A. Babikian , Shuzhao Feng , Dániel Varró , Gunter Mussbacher

Program specialisation aims at improving the overall performance of programs by performing source to source transformations. A common approach within functional and logic programming, known respectively as partial evaluation and partial…

Programming Languages · Computer Science 2007-05-23 Michael Leuschel , Maurice Bruynooghe

The Shapes Constraint Language (SHACL) is a recent W3C recommendation language for validating RDF data. Specifically, SHACL documents are collections of constraints that enforce particular shapes on an RDF graph. Previous work on the topic…

Logic in Computer Science · Computer Science 2020-11-06 Paolo Pareti , George Konstantinidis , Fabio Mogavero , Timothy J. Norman

Error-correcting codes and related combinatorial constructs play an important role in several recent (and old) results in computational complexity theory. In this paper we survey results on locally-testable and locally-decodable…

Computational Complexity · Computer Science 2007-07-13 Luca Trevisan

2LS ("tools") is a verification tool for C programs, built upon the CPROVER framework. It allows one to verify user-specified assertions, memory safety properties (e.g. buffer overflows), numerical overflows, division by zero, memory leaks,…

Software Engineering · Computer Science 2023-02-07 Daniel Kroening , Viktor Malík , Peter Schrammel , Tomáš Vojnar

Numerical and symbolic methods for optimization are used extensively in engineering, industry, and finance. Various methods are used to reduce problems of interest to ones that are amenable to solution by such software. We develop a…

Logic in Computer Science · Computer Science 2023-02-23 Alexander Bentkamp , Ramon Fernández Mir , Jeremy Avigad

The paper proposes a control-theoretic framework for verification of numerical software systems, and puts forward software verification as an important application of control and systems theory. The idea is to transfer Lyapunov functions…

Systems and Control · Computer Science 2011-08-30 Mardavij Roozbehani , Alexandre Megretski , Eric Feron

Formal verification of large C programs is impeded by state-space explosion: Bounded Model Checking (BMC) tools must encode the entire state space up to the predetermined bound by unrolling all nested constructs. We present ConVer, a…

Software Engineering · Computer Science 2026-05-27 Muhammad A. A. Pirzada , Weiqi Wang , Yiannis Charalambous , Konstantin Korovin , Lucas C. Cordeiro

Craig interpolation is used in program verification for automating key tasks such as the inference of loop invariants and the computation of program abstractions. This chapter covers some of the most important techniques that have been…

Logic in Computer Science · Computer Science 2026-02-10 Philipp Rümmer

Uncertainty in Logic Programming has been investigated during the last decades, dealing with various extensions of the classical LP paradigm and different applications. Existing proposals rely on different approaches, such as clause…

Logic in Computer Science · Computer Science 2010-07-22 Mario Rodríguez-Artalejo , Carlos A. Romero-Díaz

Alternation of forward and backward analyses is a standard technique in abstract interpretation of programs, which is in particular useful when we wish to prove unreachability of some undesired program states. The current state-of-the-art…

Programming Languages · Computer Science 2017-08-08 Alexey Bakhirkin , David Monniaux

Satisfiability solvers are increasingly playing a key role in software verification, with particularly effective use in the analysis of security vulnerabilities. String processing is a key part of many software applications, such as…

Computational Complexity · Computer Science 2009-03-17 Susmit Jha , Sanjit A. Seshia , Rhishikesh Limaye

The paper proposes a control-theoretic framework for verification of numerical software systems, and puts forward software verification as an important application of control and systems theory. The idea is to transfer Lyapunov functions…

Systems and Control · Computer Science 2011-08-02 Mardavij Roozbehani , Alexandre Megretski , Eric Feron

We investigate representations of imperative programs as constrained Horn clauses. Starting from operational semantics transition rules, we proceed by writing interpreters as constrained Horn clause programs directly encoding the rules. We…

Programming Languages · Computer Science 2020-08-10 John P. Gallagher , Manuel Hermenegildo , Bishoksan Kafle , Maximiliano Klemen , Pedro López García , José Morales

Many foundational program verification tools have been developed to build machine-checked program correctness proofs, a majority of which are based on Hoare logic. Their program logics, their assertion languages, and their underlying…

Programming Languages · Computer Science 2023-10-27 Zhongye Wang , Qinxiang Cao , Yichen Tao

Modern conflict-driven clause learning (CDCL) SAT solvers are very good in solving conjunctive normal form (CNF) formulas. However, some application problems involve lots of parity (xor) constraints which are not necessarily efficiently…

Logic in Computer Science · Computer Science 2014-07-25 Tero Laitinen , Tommi Junttila , Ilkka Niemelä

The constrained synchronization problem (CSP) asks for a synchronizing word of a given input automaton contained in a regular set of constraints. It could be viewed as a special case of synchronization of a discrete event system under…

Formal Languages and Automata Theory · Computer Science 2021-08-03 Stefan Hoffmann

When dealing with real-world optimization problems, decision-makers usually face high levels of uncertainty associated with partial information, unknown parameters, or complex relationships between these and the problem decision variables.…

Optimization and Control · Mathematics 2023-05-01 Antonio Alcántara , Carlos Ruiz