English
Related papers

Related papers: Derivation and Verification of Array Sorting by Me…

200 papers

We present a first-order theorem proving framework for establishing the correctness of functional programs implementing sorting algorithms with recursive data structures. We formalize the semantics of recursive programs in many-sorted…

Logic in Computer Science · Computer Science 2024-03-07 Pamina Georgiou , Márton Hajdu , Laura Kovács

The quest for efficient sorting is ongoing, and we will explore a graph-based stable sorting strategy, in particular employing comparison graphs. We use the topological sort to map the comparison graph to a linear domain, and we can…

Data Structures and Algorithms · Computer Science 2020-09-02 Balaram Behera

This paper proposes new derivations of three well-known sorting algorithms, in their functional formulation. The approach we use is based on three main ingredients: first, the algorithms are derived from a simpler algorithm, i.e. the…

Data Structures and Algorithms · Computer Science 2008-02-27 José Bacelar Almeida , Jorge Sousa Pinto

We study verification over a general model of artifact-centric systems, to assess (parameterized) safety properties irrespectively of the initial database instance. We view such artifact systems as array-based systems, which allows us to…

Logic in Computer Science · Computer Science 2019-02-28 Diego Calvanese , Silvio Ghilardi , Alessandro Gianola , Marco Montali , Andrey Rivkin

With distributed computing and mobile applications, synchronizing diverging replicas of data structures is a more and more common problem. We use algebraic methods to reason about filesystem operations, and introduce a simplified definition…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-24 Elod Pal Csirmaz

Fully automated verification of concurrent programs is a difficult problem, primarily because of state explosion: the exponential growth of a program state space with the number of its concurrently active components. It is natural to apply…

Logic in Computer Science · Computer Science 2013-09-23 Kedar S. Namjoshi

The Dafny verifier provides strong correctness guarantees but often requires numerous manual helper assertions, creating a significant barrier to adoption. We investigate the use of Large Language Models (LLMs) to automatically infer…

Software Engineering · Computer Science 2025-11-04 Álvaro Silva , Alexandra Mendes , Ruben Martins

Multicopy search structures such as log-structured merge (LSM) trees are optimized for high insert/update/delete (collectively known as upsert) performance. In such data structures, an upsert on key $k$, which adds $(k,v)$ where $v$ can be…

Programming Languages · Computer Science 2021-09-14 Nisarg Patel , Siddharth Krishna , Dennis Shasha , Thomas Wies

Software verification has emerged as a key concern for ensuring the continued progress of information technology. Full verification generally requires, as a crucial step, equipping each loop with a "loop invariant". Beyond their role in…

Software Engineering · Computer Science 2014-01-14 Carlo A. Furia , Bertrand Meyer , Sergey Velder

The last decade has sparked several valiant efforts in deductive verification of distributed agreement protocols such as consensus and leader election. Oddly, there have been far fewer verification efforts that go beyond the core protocols…

Programming Languages · Computer Science 2021-09-14 Nouraldin Jaber , Christopher Wagner , Swen Jacobs , Milind Kulkarni , Roopsha Samanta

The success of Deep Learning and its potential use in many safety-critical applications has motivated research on formal verification of Neural Network (NN) models. In this context, verification involves proving or disproving that an NN…

Machine Learning · Computer Science 2025-08-27 Rudy Bunel , Jingyue Lu , Ilker Turkaslan , Philip H. S. Torr , Pushmeet Kohli , M. Pawan Kumar

The vulnerability of neural networks to adversarial perturbations has necessitated formal verification techniques that can rigorously certify the quality of neural networks. As the state-of-the-art, branch and bound (BaB) is a…

Machine Learning · Computer Science 2025-07-24 Guanqin Zhang , Kota Fukuda , Zhenya Zhang , H. M. N. Dilum Bandara , Shiping Chen , Jianjun Zhao , Yulei Sui

Using large language models (LLMs) to generate source code from natural language prompts is a popular and promising idea with a wide range of applications. One of its limitations is that the generated code can be faulty at times, often in a…

Software Engineering · Computer Science 2025-01-14 Yue Chen Li , Stefan Zetzsche , Siva Somayyajula

The proof of a program property can be reduced to the proof of satisfiability of a set of constrained Horn clauses (CHCs) which can be automatically generated from the program and the property. In this paper we have conducted a case study…

Logic in Computer Science · Computer Science 2019-07-10 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

We introduce DafnyBench, the largest benchmark of its kind for training and evaluating machine learning systems for formal software verification. We test the ability of LLMs such as GPT-4 and Claude 3 to auto-generate enough hints for the…

Many transformation techniques developed for constraint logic programs, also known as constrained Horn clauses (CHCs), have found new useful applications in the field of program verification. In this paper, we work out a nontrivial case…

Logic in Computer Science · Computer Science 2020-08-10 Emanuele De Angelis , Fabio Fioravanti , Maurizio Proietti

Sorting algorithms have attracted a great deal of attention and study, as they have numerous applications to Mathematics, Computer Science and related fields. In this thesis, we first deal with the mathematical analysis of the Quicksort…

Data Structures and Algorithms · Computer Science 2015-10-05 Vasileios Iliopoulos

This work is a rigorous development of a complete and general-purpose deep learning framework from the ground up. The fundamental components of deep learning - automatic differentiation and gradient methods of optimizing multivariable…

Mathematical Software · Computer Science 2020-11-18 Andrei Nicolae

Program verifiers such as Dafny automate proofs by outsourcing them to an SMT solver. This automation is not perfect, however, and the solver often requires hints in the form of assertions, creating a burden for the proof engineer. In this…

Logic in Computer Science · Computer Science 2025-03-05 Eric Mugnier , Emmanuel Anaya Gonzalez , Ranjit Jhala , Nadia Polikarpova , Yuanyuan Zhou

Program verification is a resource-hungry task. This paper looks at the problem of parallelizing SMT-based automated program verification, specifically bounded model-checking, so that it can be distributed and executed on a cluster of…

Programming Languages · Computer Science 2020-05-19 Prantik Chatterjee , Subhajit Roy , Bui Phi Diep , Akash Lal