Program Analysis

LLOV: A Fast Static Data-Race Checker for OpenMP Programs

This paper presents a tool, LLOV, which leverages polyhedral compilation for fast data-race checking for OpenMP Programs.


A static data-race checker for OpenMP programs.

Precise Predictive Analysis for Discovering Communication Deadlocks in MPI Programs

This paper shows NP-completeness of deadlock detection in certain class of MPI programs. It also presents encoding to analyze a class of MPI programs with respect to deadlocks.

The virtues of conflict: analysing modern concurrency

This paper presents a different encoding that makes Bounded Model Checking faster for concurrent programs.

Safety Verification and Refutation by $k$-Invariants and $k$-Induction

This paper describes a sound and complete tool, 2LS, for program verification and the techniques behind its working.

Property-Driven Fence Insertion Using Reorder Bounded Model Checking

This paper introduces Re-Order Bounded Model Checking to efficiently repair programs on weak memory models.

A New Method of {MHP} Analysis for Languages with Dynamic Barriers

This paper presents a technique to perform May-Happen-in-Parallel analysis for languages with Dynamic Barriers.

Underspecified harnesses and interleaved bugs

This paper presents a technique to find interleaved bugs even with incomplete harness.

Distributed Generalized Dynamic Barrier Synchronization

Static assertion checking of open programs requires setting up a precise harness to capture the environment assumptions. For instance, a library may require a file handle to be properly initialized before it is passed into it. A harness is used to …