English
Related papers

Related papers: A Devil's Advocate against Termination of Direct R…

200 papers

Reasoning about program correctness has been a central topic in static analysis for many years, with Hoare logic (HL) playing an important role. The key notions in HL are partial and total correctness. Both require that program executions…

Logic in Computer Science · Computer Science 2025-02-21 Lena Verscht , Ānrán Wáng , Benjamin Lucien Kaminski

Logic rules and inference are fundamental in computer science and have been studied extensively. However, prior semantics of logic languages can have subtle implications and can disagree significantly, on even very simple programs,…

Logic in Computer Science · Computer Science 2021-10-07 Yanhong A. Liu , Scott D. Stoller

There are many techniques and tools to prove termination of C programs, but up to now these tools were not very powerful for fully automated termination proofs of programs whose termination depends on recursive data structures like lists.…

Logic in Computer Science · Computer Science 2023-06-06 Jera Hensel , Jürgen Giesl

Logic Programming is a Turing complete language. As a consequence, designing algorithms that decide termination and non-termination of programs or decide inductive/coinductive soundness of formulae is a challenging task. For example, the…

Logic in Computer Science · Computer Science 2017-07-26 Ekaterina Komendantskaya , Yue Li

Neural models of code have shown impressive results when performing tasks such as predicting method names and identifying certain kinds of bugs. We show that these models are vulnerable to adversarial examples, and introduce a novel…

Machine Learning · Computer Science 2020-10-14 Noam Yefet , Uri Alon , Eran Yahav

We are interested in identifying and enforcing the isolation requirements of a concurrent program, i.e., concurrency control that ensures that the program meets its specification. The thesis of this paper is that this can be done…

Programming Languages · Computer Science 2015-07-01 Jyotirmoy Deshmukh , G. Ramalingam , Venkatesh-Prasad Ranganath , Kapil Vaswani

We develop a correspondence between the theory of sequential algorithms and classical reasoning, via Kreisel's no-counterexample interpretation. Our framework views realizers of the no-counterexample interpretation as dynamic processes…

Logic in Computer Science · Computer Science 2018-12-31 Thomas Powell

Numerical software are widely used in safety-critical systems such as aircrafts, satellites, car engines and so on, facilitating dynamics control of such systems in real time, it is therefore absolutely necessary to verify their…

Optimization and Control · Mathematics 2018-10-30 Bai Xue , Naijun Zhan , Yangjia Li , Qiuye Wang

The paper describes an extension of well-founded semantics for logic programs with two types of negation. In this extension information about preferences between rules can be expressed in the logical language and derived dynamically. This…

Artificial Intelligence · Computer Science 2008-02-03 G. Brewka

To derive a program for a given specification R means to find an artifact P that satisfies two conditions: P is executable in some programming language; and P is correct with respect to R. Refinement-based program derivation achieves this…

Software Engineering · Computer Science 2018-10-24 Marwa Benabdelali , Lamia Labed Jilani , Wided Ghardallou , Ali Mili

Almost all modern imperative programming languages include operations for dynamically manipulating the heap, for example by allocating and deallocating objects, and by updating reference fields. In the presence of recursive procedures and…

Programming Languages · Computer Science 2012-12-18 Jurriaan Rot , Irina Măriuca Asăvoae , Frank de Boer , Marcello M. Bonsangue , Dorel Lucanu

Counterexample-guided repair aims at creating neural networks with mathematical safety guarantees, facilitating the application of neural networks in safety-critical domains. However, whether counterexample-guided repair is guaranteed to…

Machine Learning · Computer Science 2023-06-06 David Boetius , Stefan Leue , Tobias Sutter

A circular program contains a data structure whose definition is self-referential or recursive. The use of such a definition allows efficient functional programs to be written and can avoid repeated evaluations and the creation of…

Data Structures and Algorithms · Computer Science 2022-06-28 Lloyd Allison

Distributive laws are important for algebraic reasoning in arithmetic and logic. They are equally important for algebraic reasoning about concurrent programs. In existing theories such as Concurrent Kleene Algebra, only partial correctness…

Logic in Computer Science · Computer Science 2024-03-21 Larissa A. Meinicke , Ian J. Hayes

Malware are becoming a major problem to every individual and organization in the cyber world. They are advancing in sophistication in many ways. Besides their advanced abilities to penetrate and stay evasive against detection and…

Cryptography and Security · Computer Science 2018-01-09 Jonathan Pan

Program specialization is a program transformation methodology which improves program efficiency by exploiting the information about the input data which are available at compile time. We show that current techniques for program…

Programming Languages · Computer Science 2007-05-23 Alberto Pettorossi , Maurizio Proietti , Sophie Renault

Constraint Handling Rules (CHR) is a declarative committed-choice programming language with a strong relationship to linear logic. Its generalization CHR with Disjunction (CHRv) is a multi-paradigm declarative programming language that…

Programming Languages · Computer Science 2010-09-16 Hariolf Betz , Thom W. Frühwirth

Existential rules, long known as tuple-generating dependencies in database theory, have been intensively studied in the last decade as a powerful formalism to represent ontological knowledge in the context of ontology-based query answering.…

Logic in Computer Science · Computer Science 2018-10-05 Michel Leclere , Marie-Laure Mugnier , Michael Thomazo , Federico Ulliana

Repeated recursion unfolding is a new approach that repeatedly unfolds a recursion with itself and simplifies it while keeping all unfolded rules. Each unfolding doubles the number of recursive steps covered. This reduces the number of…

Programming Languages · Computer Science 2020-09-14 Thom Fruehwirth

The term {\em meta-programming} refers to the ability of writing programs that have other programs as data and exploit their semantics. The aim of this paper is presenting a methodology allowing us to perform a correct termination analysis…

Programming Languages · Computer Science 2007-05-23 Alexander Serebrenik , Danny De Schreye