English
Related papers

Related papers: Contract Strengthening through Constrained Horn Cl…

200 papers

Dafny is a verification-aware programming language that comes with a compiler and static program verifier. However, neither the compiler nor the verifier is proved correct; in fact, soundness bugs have been found in both tools. This paper…

Programming Languages · Computer Science 2025-12-08 Daniel Nezamabadi , Magnus O. Myreen , Yong Kiam Tan

Proof by coupling is a classical technique for proving properties about pairs of randomized algorithms by carefully relating (or coupling) two probabilistic executions. In this paper, we show how to automatically construct such proofs for…

Programming Languages · Computer Science 2018-04-12 Aws Albarghouthi , Justin Hsu

We present three projects concerned with applications of proof assistants in the area of programming language theory and mathematics. The first project is about a certified compilation technique for a domain-specific programming language…

Programming Languages · Computer Science 2018-11-29 Danil Annenkov

Exhaustive formal verification for systems of systems (SoS) is impractical and cannot be applied on a large scale. In this paper we propose to use statistical model checking for efficient verification of SoS. We address three relevant…

Software Engineering · Computer Science 2013-11-15 Alessandro Mignogna , Leonardo Mangeruca , Benoît Boyer , Axel Legay , Alexandre Arnold

Constraint Handling Rules (CHR) is a rule-based programming language that rewrites collections of constraints. It is typically embedded into a general-purpose language. There exists a plethora of implementation for numerous host languages.…

Programming Languages · Computer Science 2025-08-26 Sascha Rechenberger , Thom Frühwirth

Business contracts, particularly sale and purchase agreements, often contain a large number of clauses and are correspondingly long and complex. In practice, it is therefore a great challenge to keep track of their legal context and to…

Logic in Computer Science · Computer Science 2025-04-28 Alan Khoja , Martin Kölbl , Stefan Leue , Rüdiger Wilhelmi

Smart contracts are small programs on the blockchain that often handle valuable assets. Vulnerabilities in smart contracts can be costly, as time has shown over and over again. Countermeasures are high in demand and include best practice…

Software Engineering · Computer Science 2023-05-03 Monika di Angelo , Gernot Salzer

In order to properly train a machine learning model, data must be properly collected. To guarantee a proper data collection, verifying that the collected data set holds certain properties is a possible solution. For example, guaranteeing…

Software Engineering · Computer Science 2021-08-26 Jorge López , Maxime Labonne , Claude Poletti

Software engineering of modular robotic systems is a challenging task, however, verifying that the developed components all behave as they should individually and as a whole presents its own unique set of challenges. In particular, distinct…

Software Engineering · Computer Science 2020-12-04 Rafael C. Cardoso , Louise A. Dennis , Marie Farrell , Michael Fisher , Matt Luckcuck

Function contracts are a well-established way of formally specifying the intended behavior of a function. However, they usually only describe what should happen during a single call. Relational properties, on the other hand, link several…

Software Engineering · Computer Science 2018-05-09 Lionel Blatter , Nikolai Kosmatov , Pascale Le Gall , Virgile Prevosto , Guillaume Petiot

Program completion is a translation from the language of logic programs into the language of first-order theories. Its original definition has been extended to programs that include integer arithmetic, accept input, and distinguish between…

Logic in Computer Science · Computer Science 2023-12-27 Jorge Fandinno , Vladimir Lifschitz , Nathan Temple

Reusable software components need expressive specifications. This paper outlines a rigorous foundation to model-based contracts, a method to equip classes with strong contracts that support accurate design, implementation, and formal…

Software Engineering · Computer Science 2013-08-14 Nadia Polikarpova , Carlo A. Furia , Bertrand Meyer

We design learning algorithms for synthesizing invariants using Horn implication counterexamples (Horn-ICE), extending the ICE-learning model. In particular, we describe a decision-tree learning algorithm that learns from Horn-ICE samples,…

Logic in Computer Science · Computer Science 2018-11-12 Deepak D'Souza , P. Ezudheen , Pranav Garg , P. Madhusudan , Daniel Neider

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

This paper presents a theory for the refinement of shared-memory concurrent algorithms from specifications. We augment pre and post condition specifications with Jones' rely and guarantee conditions, all of which are encoded as commands…

Logic in Computer Science · Computer Science 2023-09-12 Ian J. Hayes , Larissa A. Meinicke , Patrick A. Meiring

I present a new method for specifying and verifying the partial correctness of sequential programs. The key observation is that, in Hoare logic, assertions are used as selectors of states, that is, an assertion specifies the set of program…

Software Engineering · Computer Science 2022-01-20 Paul C Attie

Large Language Models (LLMs) augmented with external tools have demonstrated remarkable capabilities in complex reasoning tasks. However, existing frameworks rely heavily on natural language reasoning to determine when tools can be invoked…

Computation and Language · Computer Science 2026-01-09 Yanming Liu , Xinyue Peng , Jiannan Cao , Xinyi Wang , Songhang Deng , Jintao Chen , Jianwei Yin , Xuhong Zhang

Code language models are increasingly adopted for both understanding and generative tasks. Despite their success, these models frequently produce overconfident incorrect predictions and underconfident correct predictions, undermining their…

Software Engineering · Computer Science 2026-05-20 Ravishka Rathnasuriya , Wei Yang

Function-correcting codes (FCCs) are designed to provide error protection for the value of a function computed on the data. Existing work typically focuses solely on protecting the function value and not the underlying data. In this work,…

Information Theory · Computer Science 2026-05-20 Charul Rajput , B. Sundar Rajan , Ragnar Freij-Hollanti , Camilla Hollanti

We are interested in proving satisfiability of Constrained Horn Clauses (CHCs) over Algebraic Data Types (ADTs). We propose to prove satisfiability by building a tree automaton recognizing the Herbrand model of the CHCs. If such an…

Logic in Computer Science · Computer Science 2025-10-31 Gregoire Maire , Thomas Genet