Product Details
ANaConDA: A Framework for Analysing Multi-threaded C/C++ Programs on the Binary Level, Version 0.4
Created: 2020
Vašíček Ondřej, Ing. (DITS)
Mužikovská Monika, Ing.
Smrčka Aleš, Ing., Ph.D. (DITS)
Vojnar Tomáš, prof. Ing., Ph.D. (DITS)
Křena Bohuslav, Ing., Ph.D. (DITS)
Concurrent programs, multithreaded programs, synchronisation, data races,
deadlocks, atomicity, contracts for concurrency, dynamic analysis, noise
injection.
ANaConDA is a framework for dynamic analysis of multithreaded programs written in
the C/C++ languages. The analysis is performed on the binary level using
instrumentation through the Intel Pin tool. For the actual analysis, ANaConDA
uses detectors focusing on various synchronisation-related defects. To increases
chances to find even rarely occurring bugs, ANaConDA uses injection of noise into
thread scheduling. In its 0.4 version, ANaConDA was extended by new extrapolating
checkers, including, e.g., an implementation of the FastTrack data race detector,
which has originally been proposed for Java programs. Further, ANaConDAs support
for so-called contracts for concurrency, which allow one to analyze relative
atomicity of certain method call sequences, was extended to support monitoring
and distinguishing values of arguments of the involved functions. ANaConDA was
also optimized in various ways in order to manage analysis of industrial code,
e.g., the communication middleware DDS.
Free software under the terms of GNU GPL (cf. http://www.gnu.org/licenses/gpl.html).