English
Related papers

Related papers: Verifying Parallel Loops with Separation Logic

200 papers

Convergence of classical parallel iterations is detected by performing a reduction operation at each iteration in order to compute a residual error relative to a potential solution vector. To efficiently run asynchronous iterations,…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-01-01 Frédéric Magoulès , Guillaume Gbikpi-Benissan

Manual parallelization of code remains a significant challenge due to the complexities of modern software systems and the widespread adoption of multi-core architectures. This paper introduces OMPar, an AI-driven tool designed to automate…

Computation and Language · Computer Science 2024-09-24 Tal Kadosh , Niranjan Hasabnis , Prema Soundararajan , Vy A. Vo , Mihai Capota , Nesreen Ahmed , Yuval Pinter , Gal Oren

All methodologies for detecting plagiarism to date have focused on the final digital "outcome", such as a document or source code. Our novel approach takes the creation process into account using logged events collected by special software…

Other Computer Science · Computer Science 2017-07-21 Johannes Schneider , Avi Bernstein , Jan Vom Brocke , Kostadin Damevski , David C. Shepherd

In this work we present a dynamic analysis tool for analyzing regions of code and how those regions depend between each other via data dependencies encountered during the execution of the program. We also present an abstract method to…

Software Engineering · Computer Science 2022-08-08 Fabian Mora Cordero

Programmable Logic Controllers (PLCs) are a core component of an Industrial Control System (ICS). However, if a PLC is compromised or the commands sent across a network from the PLCs are spoofed, consequences could be catastrophic. In this…

Cryptography and Security · Computer Science 2021-02-19 Chuadhry Mujeeb Ahmed , Martin Ochoa , Jianying Zhou , Aditya Mathur

Synthesis is a particularly challenging problem for concurrent programs. At the same time it is a very promising approach, since concurrent programs are difficult to get right, or to analyze with traditional verification techniques. This…

Formal Languages and Automata Theory · Computer Science 2015-06-09 Anca Muscholl

Proving linearizability of concurrent data structures remains a key challenge for verification. We present temporal interpolation as a new proof principle to conduct such proofs using hindsight arguments within concurrent separation logic.…

Programming Languages · Computer Science 2023-04-25 Roland Meyer , Thomas Wies , Sebastian Wolff

We compare different methods for the computation of the real dilogarithm regarding their ability for using instruction-level parallelism when executed on appropriate CPUs. As a result we present an instruction-level-aware method and compare…

High Energy Physics - Phenomenology · Physics 2022-01-06 Alexander Voigt

Splitting a logic program allows us to reduce the task of computing its stable models to similar tasks for its subprograms. This can be used to increase solving performance and prove program correctness. We generalize the conditions under…

Artificial Intelligence · Computer Science 2025-03-30 Jorge Fandinno , Yuliya Lierler

We introduce Cryptis, an extension of the Iris separation logic that can be used to verify cryptographic components using the symbolic model of cryptography. The combination of separation logic and cryptographic reasoning allows us to prove…

Cryptography and Security · Computer Science 2025-07-15 Arthur Azevedo de Amorim , Amal Ahmed , Marco Gaboardi

Recent years have witnessed the surge of asynchronous parallel (async-parallel) iterative algorithms due to problems involving very large-scale data and a large number of decision variables. Because of asynchrony, the iterates are computed…

Optimization and Control · Mathematics 2021-02-05 Zhimin Peng , Yangyang Xu , Ming Yan , Wotao Yin

We give a hybrid two stage design which can be useful to estimate the reliability of a parallel-series and/or by duality a series-parallel system, when the component reliabilities are unknown as well as the total numbers of units allowed to…

Applications · Statistics 2012-12-27 Zohra Benkamra , Mekki Terbeche , Mounir Tlemcani

Multi-core and highly-connected architectures have become ubiquitous, and this has brought renewed interest in language-based approaches to the exploitation of parallelism. Since its inception, logic programming has been recognized as a…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-01-25 Agostino Dovier , Andrea Formisano , Gopal Gupta , Manuel V. Hermenegildo , Enrico Pontelli , Ricardo Rocha

Soft error of exascale application is a challenge problem in modern HPC. In order to quantify an application's resilience and vulnerability, the application-level fault injection method is widely adopted by HPC users. However, it is not…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-08-06 Kai Wu , Qiang Guan , Nathan DeBardeleben , Dong Li

Probabilistic couplings are the foundation for many probabilistic relational program logics and arise when relating random sampling statements across two programs. In relational program logics, this manifests as dedicated coupling rules…

Logic in Computer Science · Computer Science 2023-11-15 Simon Oddershede Gregersen , Alejandro Aguirre , Philipp G. Haselwarter , Joseph Tassarotti , Lars Birkedal

We present realizability and realization logic, two program logics that jointly address the problem of finding solutions in semantics-guided synthesis. What is new is that we proceed eagerly and not only analyze a single candidate program…

Logic in Computer Science · Computer Science 2024-03-12 Roland Meyer , Jakob Tepe , Sebastian Wolff

Equivalence testing, a fundamental problem in the field of distribution testing, seeks to infer if two unknown distributions on $[n]$ are the same or far apart in the total variation distance. Conditional sampling has emerged as a powerful…

Data Structures and Algorithms · Computer Science 2024-03-08 Diptarka Chakraborty , Sourav Chakraborty , Gunjan Kumar , Kuldeep S. Meel

In concurrent verification, separation logic provides a strong story for handling both resources that are owned exclusively and resources that are shared persistently (i.e., forever). However, the situation is more complicated for…

Logic in Computer Science · Computer Science 2023-09-12 Travis Hance , Jon Howell , Oded Padon , Bryan Parno

Linearizability is the de facto consistency condition for concurrent objects, widely used in theory and practice. Loosely speaking, linearizability classifies concurrent executions as correct if operations on shared objects appear to take…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-07-30 Gal Sela , Maurice Herlihy , Erez Petrank

With the spread of multi- and many-core processors more and more typical task is to re-implement some source code written originally for a single processor to run on more than one cores. Since it is a serious investment, it is important to…

Performance · Computer Science 2016-07-25 János Végh , Péter Molnár , József Vásárhelyi