English
Related papers

Related papers: Deductive Verification of Parallel Programs Using …

200 papers

Parallel programs written using the standard Message Passing Interface (MPI) frequently depend upon the ability to efficiently execute collective operations. MPI_Scan is a collective operation defined in MPI that implements parallel prefix…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-08-22 Omer Arap , Martin Swany

We describe a system that simplifies the process of debugging programs produced by computer-aided parallelization tools. The system uses relative debugging techniques to compare serial and parallel executions in order to show where the…

Software Engineering · Computer Science 2007-05-23 Robert Hood , Gabriele Jost

Use of standards-based workflows is still somewhat unusual by high-performance computing users. In this paper we describe the experience of using the Common Workflow Language (CWL) standards to describe the execution, in parallel, of…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-11-25 Rupert W. Nash , Nick Brown , Michael R. Crusoe , Max Kontak

We study induction on the program structure as a proof method for bisimulation-based compiler correctness. We consider a first-order language with mutually recursive function definitions, system calls, and an environment semantics. The…

Programming Languages · Computer Science 2016-11-30 Sigurd Schneider , Gert Smolka , Sebastian Hack

Applied process calculi include advanced programming constructs such as type systems, communication with pattern matching, encryption primitives, concurrent constraints, nondeterminism, process creation, and dynamic connection topologies.…

Logic in Computer Science · Computer Science 2017-01-11 Johannes Borgström , Ramūnas Gutkovas , Joachim Parrow , Björn Victor , Johannes Åman Pohjola

Statistical methods have been widely misused and misinterpreted in various scientific fields, raising significant concerns about the integrity of scientific research. To mitigate this problem, we propose a tool-assisted method for formally…

Software Engineering · Computer Science 2025-06-05 Yusuke Kawamoto , Kentaro Kobayashi , Kohei Suenaga

This paper presents a quantitative program verification infrastructure for discrete probabilistic programs. Our infrastructure can be viewed as the probabilistic analogue of Boogie: its central components are an intermediate verification…

Programming Languages · Computer Science 2023-11-16 Philipp Schröer , Kevin Batz , Benjamin Lucien Kaminski , Joost-Pieter Katoen , Christoph Matheja

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

A growing trend in program analysis is to encode verification conditions within the language of the input program. This simplifies the design of analysis tools by utilizing off-the-shelf verifiers, but makes communication with the…

Software Engineering · Computer Science 2024-07-12 Scott Wesley , Maria Christakis , Jorge A. Navas , Richard Trefler , Valentin Wüstholz , Arie Gurfinkel

Program errors can occur in any type of programming, and can manifest in a variety of ways, such as unexpected output, crashes, or performance issues. And program error diagnosis can often be too abstract or technical for developers to…

Software Engineering · Computer Science 2025-01-07 Zhenyu Xu , Victor S. Sheng

Faults in high-performance systems are expected to be very large in the current exascale computing era. To compensate for a higher failure rate, the standard checkpoint/restart technique would need to create checkpoints at a much higher…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-15 Sarthak Joshi , Sathish Vadhiyar

This paper presents the deductive formal verification of high-level properties of control systems with theorem proving, using the Why3 tool. Properties that can be verified with this approach include stability, feedback gain, and…

Systems and Control · Computer Science 2014-10-22 Dejanira Araiza-Illan , Kerstin Eder , Arthur Richards

Secure multi-party computation (MPC) enables a set of mutually distrusting parties to cooperatively compute, using a cryptographic protocol, a function over their private data. This paper presents Wys*, a new domain-specific language (DSL)…

Programming Languages · Computer Science 2018-11-20 Aseem Rastogi , Nikhil Swamy , Michael Hicks

In this paper, we present our ongoing work and initial results on the formal specification and verification of MiniMaple (a substantial subset of Maple with slight extensions) programs. The main goal of our work is to find behavioral errors…

Mathematical Software · Computer Science 2012-07-11 Muhammad Taimoor Khan , Wolfgang Schreiner

Process mining is a family of techniques that aim at analyzing business process execution data recorded in event logs. Conformance checking is a branch of this discipline embracing approaches for verifying whether the behavior of a process,…

Software Engineering · Computer Science 2016-08-19 Andrea Burattin , Fabrizio Maria Maggi , Alessandro Sperduti

Program verification on concurrent programs is a big challenge due to general undecidable results. Petri nets and its extensions are used in most works. However, existing verifiers based on Petri nets are difficult to be complete and…

Logic in Computer Science · Computer Science 2021-10-26 Ying Zhao , Jinhao Tan , Guoqiang Li

The behavior of parallel programs is even harder to understand than the behavior of sequential programs. Parallel programs may suffer from any of the performance problems affecting sequential programs, as well as from several problems…

Programming Languages · Computer Science 2011-09-08 Paul Bone , Zoltan Somogyi

Since the C++ bindings were deleted in 2008, the Message Passing Interface (MPI) community has revived efforts in building high-level modern C++ interfaces. Such interfaces are either built to serve specific scientific application needs…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-10-17 C. Nicole Avans , Alfredo A. Correa , Sayan Ghosh , Matthias Schimek , Joseph Schuchart , Anthony Skjellum , Evan D. Suggs , Tim Niklas Uhl

MPI collective operations provide a standardized interface for performing data movements within a group of processes. The efficiency of collective communication operations depends on the actual algorithm, its implementation, and the…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-08-11 Sascha Hunold , Alexandra Carpen-Amarie

Application development for distributed computing "Grids" can benefit from tools that variously hide or enable application-level management of critical aspects of the heterogeneous environment. As part of an investigation of these issues,…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 N. T. Karonis , B. Toonen , I. Foster