English
Related papers

Related papers: Future-based Static Analysis of Message Passing Pr…

200 papers

The large variety of production implementations of the message passing interface (MPI) each provide unique and varying underlying algorithms. Each emerging supercomputer supports one or a small number of system MPI installations, tuned for…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-09-15 Amanda Bienz , Derek Schafer , Anthony Skjellum

Static program analysis by abstract interpretation is an efficient method to determine properties of embedded software. One example is value analysis, which determines the values stored in the processor registers. Its results are used as…

Logic in Computer Science · Computer Science 2011-11-09 Reinhold Heckmann , Christian Ferdinand

This paper studies the utility of using data analytics and machine learning techniques for identifying, classifying, and characterizing the dynamics of large-scale parallel (MPI) programs. To this end, we run microbenchmarks and realistic…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-09-06 Ayesha Afzal , Georg Hager , Gerhard Wellein , Stefano Markidis

Protocols provide the unifying glue in concurrent and distributed software today; verifying that message-passing programs conform to such governing protocols is important but difficult. Static approaches based on multiparty session types…

Programming Languages · Computer Science 2022-05-24 Bas van den Heuvel , Jorge A. Pérez

We address the problem of verifying message passing programs, defined as a set of parallel processes communicating through unbounded FIFO buffers. We introduce a bounded analysis that explores a special type of computations, called…

Programming Languages · Computer Science 2018-04-20 Ahmed Bouajjani , Constantin Enea , Kailiang Ji , Shaz Qadeer

Machine learning applications are increasingly deployed not only to serve predictions using static models, but also as tightly-integrated components of feedback loops involving dynamic, real-time decision making. These applications pose a…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-23 Robert Nishihara , Philipp Moritz , Stephanie Wang , Alexey Tumanov , William Paul , Johann Schleier-Smith , Richard Liaw , Mehrdad Niknami , Michael I. Jordan , Ion Stoica

Abstract interpretation offers a powerful toolset for static analysis, tackling precision, complexity and state-explosion issues. In the literature, state partitioning abstractions based on (bi)simulation and property-preserving state…

Logic in Computer Science · Computer Science 2025-06-09 Paolo Baldan , Roberto Bruni , Francesco Ranzato , Diletta Rigo

As AI agents powered by large language models (LLMs) increasingly use external tools for high-stakes decisions, a critical reliability question arises: how do errors propagate across sequential tool calls? We introduce the first theoretical…

Artificial Intelligence · Computer Science 2026-02-17 Flint Xiaofeng Fan , Cheston Tan , Roger Wattenhofer , Yew-Soon Ong

Multiparty session types (MSTs) provide an efficient methodology for specifying and verifying message passing software systems. In the theory of MSTs, a global type specifies the interaction among the roles at the global level. A local…

Formal Languages and Automata Theory · Computer Science 2022-08-12 Rupak Majumdar , Madhavan Mukund , Felix Stutz , Damien Zufferey

Security verification of communication protocols in industrial and safety-critical systems is challenging because implementations are often proprietary, accessible only as black boxes, and too complex for manual modeling. As a result,…

Cryptography and Security · Computer Science 2026-03-02 Stefan Marksteiner , Mikael Sjödin , Marjan Sirjani

Message Sequence Charts (MSCs) are an appealing visual formalism mainly used in the early stages of system design to capture the system requirements. However, if we move towards an implementation, an executable specifications related in…

Software Engineering · Computer Science 2010-09-28 Kamrul Hasan Talukder

While application profiling has been a mainstay in the HPC community for years, profiling of MPI and other communication middleware has not received the same degree of exploration. This paper adds to the discussion of MPI profiling,…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-02-20 Riley Shipley , Garrett Hooten , David Boehme , Derek Schafer , Anthony Skjellum , Olga Pearce

This article introduces a fully automated verification technique that permits to analyze real-time systems described using a continuous notion of time and a mixture of operational (i.e., automata-based) and descriptive (i.e., logic-based)…

Logic in Computer Science · Computer Science 2013-08-14 Carlo A. Furia , Matteo Pradella , Matteo Rossi

Static program analysis today takes an analytical approach which is quite suitable for a well-scoped system. Data- and control-flow is taken into account. Special cases such as pointers, procedures, and undefined behavior must be handled. A…

Software Engineering · Computer Science 2019-11-13 Marcel Böhme

Sequential programming and work-flow programming are two useful, but radically different, ways of describing computational processing. Of the two, it is sequential programming that we teach all programmers and support by programming…

Programming Languages · Computer Science 2011-08-24 William Harrison

We consider the task of analyzing message-passing programs by observing their run-time behavior. We introduce a purely library-based instrumentation method to trace communication events during execution. A model of the dependencies among…

Programming Languages · Computer Science 2018-01-31 Martin Sulzmann , Kai Stadtmüller

Message passing is the standard paradigm of programming in high-performance computing. However, verifying Message Passing Interface (MPI) programs is challenging, due to the complex program features (such as non-determinism and non-blocking…

Programming Languages · Computer Science 2020-01-20 Hengbiao Yu , Zhenbang Chen , Xianjin Fu , Ji Wang , Zhendong Su , Jun Sun , Chun Huang , Wei Dong

Programmable Logic Controllers (PLCs) are widely used in industrial automation to control physical systems. As PLC applications become increasingly complex, ensuring their correctness is crucial. Existing formal verification techniques…

Programming Languages · Computer Science 2025-07-22 Jaeseo Lee , Kyungmin Bae

With distributed computing becoming ubiquitous in the modern era, safe distributed programming is an open challenge. To address this, multiparty session types (MPST) provide a typing discipline for message-passing concurrency, guaranteeing…

Programming Languages · Computer Science 2020-09-15 Fangyi Zhou , Francisco Ferreira , Raymond Hu , Rumyana Neykova , Nobuko Yoshida

Programs that process data that reside in files are widely used in varied domains, such as banking, healthcare, and web-traffic analysis. Precise static analysis of these programs in the context of software verification and transformation…

Programming Languages · Computer Science 2015-04-06 Raveendra Kumar Medicherla , Raghavan Komondoor , S. Narendran