Static Deadlock Detection in Low-Level C Code

07/05/2022
by   Dominik Harmim, et al.
0

We present a novel scalable deadlock analyser L2D2 capable of handling C code with low-level unstructured lock manipulation. L2D2 runs along the call tree of a program, starting from its leaves, and analyses each function just once, without any knowledge of the call context. L2D2 builds function summaries recording information about locks that are assumed or known to be locked or unlocked at the entry, inside, and at the exit of functions, together with lock dependencies, and reports warnings about possible deadlocks when cycles in the lock dependencies are detected. We implemented L2D2 as a plugin of the Facebook/Meta Infer framework and report results of experiments on a large body of C as well as C++ code illustrating the effectiveness and efficiency of L2D2.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/05/2022

Low-Level Bi-Abduction

The paper proposes a new static analysis designed to handle open program...
research
04/27/2020

LIO*: Low Level Information Flow Control in F*

We present Labeled Input Output in F* (LIO*), a verified framework that ...
research
05/03/2018

The Effectiveness of Low-Level Structure-based Approach Toward Source Code Plagiarism Level Taxonomy

Low-level approach is a novel way to detect source code plagiarism. Such...
research
11/27/2012

Chiefly Symmetric: Results on the Scalability of Probabilistic Model Checking for Operating-System Code

Reliability in terms of functional properties from the safety-liveness s...
research
08/12/2002

Knowledge Representation

This work analyses main features that should be present in knowledge rep...
research
03/18/2023

Ownership guided C to Rust translation

Dubbed a safer C, Rust is a modern programming language that combines me...
research
03/06/2023

Impact of baggage collection behaviour on aircraft evacuation

Recent reports of emergency aircraft evacuations have highlighted an inc...

Please sign up or login with your details

Forgot password? Click here to reset