Detail aplikovaného výsledku

ANaConDA: A Framework for Analysing Multi-threaded C/C++ Programs on the Binary Level, Version 0.4

FIEDOR, J.; VAŠÍČEK, O.; MUŽIKOVSKÁ, M.; SMRČKA, A.; VOJNAR, T.; KŘENA, B.

Originální název

ANaConDA: A Framework for Analysing Multi-threaded C/C++ Programs on the Binary Level, Version 0.4

Anglický název

ANaConDA: A Framework for Analysing Multi-threaded C/C++ Programs on the Binary Level, Version 0.4

Druh

Software

Abstrakt

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.

Abstrakt aglicky

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.

Klíčová slova

Concurrent programs, multithreaded programs, synchronisation, data races, deadlocks, atomicity, contracts for concurrency, dynamic analysis, noise injection.

Klíčová slova anglicky

Concurrent programs, multithreaded programs, synchronisation, data races, deadlocks, atomicity, contracts for concurrency, dynamic analysis, noise injection.

Umístění

https://www.fit.vutbr.cz/research/groups/verifit/tools/anaconda/download/anaconda-0.4a-src.zip

Licenční poplatek

K využití výsledku jiným subjektem je vždy nutné nabytí licence

www