Product Details

DeadlockF, Version 1.0

Created: 2021

Czech title
DeadlockF, verze 1.0
Type
software
License
In order to use the result by another entity, it is always necessary to acquire a license
License Fee
The licensor does not require a license fee for the result
Authors
Keywords

Static analysis, concurrent programs, multithreaded programs, deadlock, Frama-C,
plugin.

Description

DeadlockF Version 1.0 is the first version of a static analyser for detection of
potential deadlocks in C programs implemented as a plugin of the Frama-C
platform.

The core algorithm is based on an existing tool RacerX. The so-called lockset
analysis traverses control flow graph and computes the set of locks held at any
program point. When lock b is acquired with current lockset already containing
lock a, dependency a -> b is added to lockgraph. Each cycle in this graph is then
reported as a potential deadlock. 

The DeadlockF plugin uses EVA (a value analysis plugin of Frama-C) to compute
may-point-to information for parameters of locking operations. Because EVA cannot
natively analyse concurrent programs, DeadlockF first identifies all threads in
a program and then runs EVA for each thread separately with contexts of the
program points where the thread was created. The result is then an
under-approximation, which does not take into account thread's interleavings.

Location
License Conditions

Free software under the MIT license (cf. https://opensource.org/licenses/MIT).

Projects
Arrowhead Tools for Engineering of Digitalisation Solutions, MŠMT, Společná technologická iniciativa ECSEL, 8A19010, start: 2019-05-01, end: 2022-07-31, completed
Research groups
Departments
Back to top