English
Related papers

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

200 papers

Much of the copious literature on the subject of sorting has concentrated on minimizing the number of comparisons and/or exchanges/copies. However, a more appropriate yardstick for the performance of sorting algorithms is based on the total…

Data Structures and Algorithms · Computer Science 2020-12-03 R. C. Hillyard , Yunlu Liaozheng , Sai Vineeth K. R

Refinement types turn typechecking into lightweight verification. The classic form of refinement type is the datasort refinement, in which datasorts identify subclasses of inductive datatypes. Existing type systems for datasort refinements…

Programming Languages · Computer Science 2020-11-17 Jana Dunfield

Recent advances in machine learning and artificial intelligence are now being considered in safety-critical autonomous systems where software defects may cause severe harm to humans and the environment. Design organizations in these domains…

Machine Learning · Computer Science 2020-03-24 John Törnblom , Simin Nadjm-Tehrani

We present a simple, work-optimal and synchronization-free solution to the problem of stably merging in parallel two given, ordered arrays of m and n elements into an ordered array of m+n elements. The main contribution is a new, simple,…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-11-13 Christian Siebert , Jesper Larsson Träff

Modern program verifiers use the same uniform program text to both specify and implement programs. The program text is also used to provide the necessary guidance to ensure that the program satisfies its specification. The amount of…

Software Engineering · Computer Science 2017-06-14 Gudmund Grov , Duncan Cameron , Leon McGregor

Proving correctness of distributed or concurrent algorithms is a mind-challenging and complex process. Slight errors in the reasoning are difficult to find, calling for computer-checked proof systems. In order to build computer-checked…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-21 Armando Castañeda , Aurélie Hurault , Philippe Quéinnec , Matthieu Roy

We target the problem of provably computing the equivalence between two complex expression trees. To this end, we formalize the problem of equivalence between two such programs as finding a set of semantics-preserving rewrite rules from one…

Programming Languages · Computer Science 2021-06-10 Steve Kommrusch , Théo Barollet , Louis-Noël Pouchet

We study verification (decision) problems for graph properties in distributed networks under the locally checkable labeling framework, where nodes use labels (proofs) and local neighborhoods to decide acceptance or rejection. Our focus is…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-03-24 Paweł Garncarek , Tomasz Jurdzinski , Dariusz Kowalski , Subhajit Pramanick

It is well-known that the graph isomorphism problem can be posed as an equivalent problem of determining whether an auxiliary graph structure contains a clique of specific order. However, the algorithms that have been developed so far for…

Data Structures and Algorithms · Computer Science 2019-10-29 Giannis Nikolentzos , Michalis Vazirgiannis

We design and analyze new protocols to verify the correctness of various computations on matrices over the ring F[x] of univariate polynomials over a field F. For the sake of efficiency, and because many of the properties we verify are…

Symbolic Computation · Computer Science 2019-12-12 David Lucas , Vincent Neiger , Clément Pernet , Daniel S. Roche , Johan Rosenkilde

Data replication is crucial for enabling fault tolerance and uniform low latency in modern decentralized applications. Replicated Data Types (RDTs) have emerged as a principled approach for developing replicated implementations of basic…

Programming Languages · Computer Science 2025-02-28 Vimala Soundarapandian , Kartik Nagar , Aseem Rastogi , KC Sivaramakrishnan

The HaliVer tool integrates deductive verification into the popular scheduling language Halide, used for image processing pipelines and array computations. HaliVer uses Vercors, a separation logic-based verifier, to verify the correctness…

Logic in Computer Science · Computer Science 2024-01-22 Lars B. van den Haak , Anton Wijs , Marieke Huisman , Mark van den Brand

A syntax-directed formal system for the development of totally correct programs with respect to an unfair shared-state parallel while-language is proposed. The system can be understood as a compositional reformulation of the Owicki/Gries…

Formal Languages and Automata Theory · Computer Science 2024-04-26 Ketil Stølen

Verification of deep neural networks has witnessed a recent surge of interest, fueled by success stories in diverse domains and by abreast concerns about safety and security in envisaged applications. Complexity and sheer size of such…

Machine Learning · Computer Science 2020-03-18 Dario Guidotti , Francesco Leofante , Luca Pulina , Armando Tacchella

In the paper the problem of verification of functional programs (FPs) over strings is considered, where specifications of properties of FPs are defined by other FPs, and a FP S1 meets a specification defined by another FP S2 iff a…

Logic in Computer Science · Computer Science 2016-04-15 Andrew M. Mironov

Computer programs may go wrong due to exceptional behaviors, out-of-bound array accesses, or simply coding errors. Thus, they cannot be blindly trusted. Scientific computing programs make no exception in that respect, and even bring…

The Fisher-Yates shuffle is a well-known algorithm for shuffling a finite sequence, such that every permutation is equally likely. Despite its simplicity, it is prone to implementation errors that can introduce bias into the generated…

Cryptography and Security · Computer Science 2025-01-13 Stefan Zetzsche , Jean-Baptiste Tristan , Tancrede Lepoint , Mikael Mayer

Sharing of notations and theories across an inheritance hierarchy of mathematical structures, e.g., groups and rings, is important for productivity when formalizing mathematics in proof assistants. The packed classes methodology is a…

Programming Languages · Computer Science 2020-09-22 Kazuhiko Sakaguchi

Software for mixed-integer linear programming can return incorrect results for a number of reasons, one being the use of inexact floating-point arithmetic. Even solvers that employ exact arithmetic may suffer from programming or algorithmic…

Optimization and Control · Mathematics 2019-01-03 Kevin K. H. Cheung , Ambros Gleixner , Daniel E. Steffy

In this paper, we revisit techniques for uncertainty estimation within deep neural networks and consolidate a suite of techniques to enhance their reliability. Our investigation reveals that an integrated application of diverse…

Computer Vision and Pattern Recognition · Computer Science 2024-03-04 Yuting Li , Yingyi Chen , Xuanlong Yu , Dexiong Chen , Xi Shen