English
Related papers

Related papers: Reduction for Structured Concurrent Programs

200 papers

Decomposition, statically dividing a program into multiple units, is a common programming technique for realizing parallelism and refining programs. The decomposition of a sequential program into components is tedious, due to the…

Software Engineering · Computer Science 2020-09-09 Sabah Al-Fedaghi

We present a new soundness proof of Concurrent Separation Logic (CSL) based on a structural operational semantics (SOS). We build on two previous proofs and develop new auxiliary notions to achieve the goal. One uses a denotational…

Logic in Computer Science · Computer Science 2017-12-06 Pedro Soares , António Ravara , Simão Melo de Sousa

Counterfactual reasoning, a hallmark of intelligence, consists of three steps: inferring latent variables from observations (abduction), constructing alternatives (interventions), and predicting their outcomes (prediction). This skill is…

Machine Learning · Computer Science 2025-10-03 Aniket Vashishtha , Qirun Dai , Hongyuan Mei , Amit Sharma , Chenhao Tan , Hao Peng

Datalog reasoning based on the semina\"ive evaluation strategy evaluates rules using traditional join plans, which often leads to redundancy and inefficiency in practice, especially when the rules are complex. Hypertree decompositions help…

Databases · Computer Science 2023-05-16 Xinyue Zhang , Pan Hu , Yavor Nenov , Ian Horrocks

Arguments about correctness of a concurrent data structure are typically carried out by using the notion of linearizability and specifying the linearization points of the data structure's procedures. Such arguments are often cumbersome as…

Logic in Computer Science · Computer Science 2017-01-19 Germán Andrés Delbianco , Ilya Sergey , Aleksandar Nanevski , Anindya Banerjee

The exponential explosion of parallel interleavings remains a fundamental challenge to model checking of concurrent programs. Both partial-order reduction (POR) and transaction reduction (TR) decrease the number of interleavings in a…

Logic in Computer Science · Computer Science 2018-02-09 Alfons Laarman

Determining whether a given program terminates is the quintessential undecidable problem. Algorithms for termination analysis are divided into two groups: (1) algorithms with strong behavioral guarantees that work in limited circumstances…

Programming Languages · Computer Science 2021-09-16 Shaowei Zhu , Zachary Kincaid

Synchronous computation models simplify the design and the verification of fault-tolerant distributed systems. For efficiency reasons such systems are designed and implemented using an asynchronous semantics. In this paper, we bridge the…

Programming Languages · Computer Science 2019-01-23 Andrei Damien , Cezara Dragoi , Alexandru Militaru , Josef Widder

Diffusion models produce realistic images and videos but require substantial computational resources, necessitating multi-accelerator parallelism for real-time deployment. However, parallel inference introduces significant communication…

Computer Vision and Pattern Recognition · Computer Science 2025-12-01 Jiajun Luo , Yicheng Xiao , Jianru Xu , Yangxiu You , Rongwei Lu , Chen Tang , Jingyan Jiang , Zhi Wang

The objective of this paper is to present general, mechanically verified, refinement rules for reasoning about recursive programs and while loops in the context of concurrency. Unlike many approaches to concurrency, we do not assume that…

Logic in Computer Science · Computer Science 2025-12-09 Ian J. Hayes , Larissa A. Meinicke , Cliff B. Jones

Predictive models are fundamental to engineering reliable software systems. However, designing conservative, computable approximations for the behavior of programs (static analyses) remains a difficult and error-prone process for modern…

Programming Languages · Computer Science 2011-05-10 David Van Horn , Matthew Might

Reductions combine collections of input values with an associative and often commutative operator to produce collections of results. When the same input value contributes to multiple outputs, there is an opportunity to reuse partial…

Programming Languages · Computer Science 2024-12-19 Louis Narmour , Tomofumi Yuki , Sanjay Rajopadhye

Rely-guarantee (RG) logic uses thread interference specifications (relies and guarantees) to reason about the correctness of multithreaded software. Unfortunately, RG logic requires each function postcondition to be "stabilized" or…

Programming Languages · Computer Science 2024-07-15 Cormac Flanagan , Stephen N. Freund

Formal, mathematically rigorous programming language semantics are the essential prerequisite for the design of logics and calculi that permit automated reasoning about concurrent programs. We propose a novel modular semantics designed to…

Programming Languages · Computer Science 2022-02-25 Crystal Chang Din , Reiner Hähnle , Ludovic Henrio , Einar Broch Johnsen , Violet Ka I Pun , Silvia Lizeth Tapia Tarifa

Building on the standard theory of process algebra with priorities, we identify a new scheduling mechanism, called "constructive reduction" which is designed to capture the essence of synchronous programming. The distinctive property of…

Programming Languages · Computer Science 2025-08-07 Luigi Liquori , Michael Mendler

We present a new method for large language models to solve compositional tasks. Although they have shown strong performance on traditional language understanding tasks, large language models struggle to solve compositional tasks, where the…

Computation and Language · Computer Science 2024-07-09 Eric Pasewark , Kyle Montgomery , Kefei Duan , Dawn Song , Chenguang Wang

Distributed systems are critical to reliable and scalable computing; however, they are complicated in nature and prone to bugs. To modularly manage this complexity, network middleware has been traditionally built in layered stacks of…

Programming Languages · Computer Science 2020-04-06 Jeremiah Griffin , Mohsen Lesani , Narges Shadab , Xizhe Yin

There are two orthogonal methodologies for efficient prediction of data races from concurrent program runs: commutativity and prefix reasoning. There are several instances of each methodology in the literature, with the goal of predicting…

Programming Languages · Computer Science 2025-09-16 Zhendong Ang , Azadeh Farzan , Umang Mathur

Many complex engineering systems consist of multiple subsystems that are developed by different teams of engineers. To analyse, simulate and control such complex systems, accurate yet computationally efficient models are required. Modular…

Systems and Control · Electrical Eng. & Systems 2023-01-02 Lars A. L. Janssen , Bart Besselink , Rob H. B. Fey , Nathan van de Wouw

Matching Logic is a framework for specifying programming language semantics and reasoning about programs. Its formulas are called patterns and are built with variables, symbols, connectives and quantifiers. A pattern is a combination of…

Logic in Computer Science · Computer Science 2018-11-16 Andrei Arusoaie , Dorel Lucanu