SharpDetect: Dynamic Analysis Framework for C#/.NET Programs
The result's identifiers
Result code in IS VaVaI
<a href="https://www.isvavai.cz/riv?ss=detail&h=RIV%2F00216208%3A11320%2F20%3A10416143" target="_blank" >RIV/00216208:11320/20:10416143 - isvavai.cz</a>
Result on the web
<a href="https://doi.org/10.1007/978-3-030-60508-7_16" target="_blank" >https://doi.org/10.1007/978-3-030-60508-7_16</a>
DOI - Digital Object Identifier
<a href="http://dx.doi.org/10.1007/978-3-030-60508-7_16" target="_blank" >10.1007/978-3-030-60508-7_16</a>
Alternative languages
Result language
angličtina
Original language name
SharpDetect: Dynamic Analysis Framework for C#/.NET Programs
Original language description
Dynamic analysis is a popular approach to detecting possible runtime errors in software and for monitoring program behavior, which is based on precise inspection of a single execution trace. It has already proved to be useful especially in the case of multithreaded programs and concurrency errors, such as race conditions. Nevertheless, usage of dynamic analysis requires good tool support, e.g. for program code instrumentation and recording important events. While there exist several dynamic analysis frameworks for Java and C/C++ programs, including RoadRunner, DiSL and Valgrind, we were not aware of any framework targeting the C# language and the .NET platform. Therefore, we present SharpDetect, a new framework for dynamic analysis of .NET programs - that is, however, focused mainly on programs compiled from the source code written in C#. We describe the overall architecture of SharpDetect, the main analysis procedure, selected interesting technical details, its basic usage via command-line, configuration options, and the interface for custom analysis plugins. In addition, we discuss performance overhead of SharpDetect based on experiments with small benchmarks, and demonstrate its practical usefulness through a case study that involves application on NetMQ, a C# implementation of the ZeroMQ messaging middleware, where SharpDetect found one real concurrency error.
Czech name
—
Czech description
—
Classification
Type
D - Article in proceedings
CEP classification
—
OECD FORD branch
10201 - Computer sciences, information science, bioinformathics (hardware development to be 2.2, social aspect to be 5.8)
Result continuities
Project
<a href="/en/project/GA18-17403S" target="_blank" >GA18-17403S: Automated Incremental Verification and Debugging of Concurrent Systems</a><br>
Continuities
P - Projekt vyzkumu a vyvoje financovany z verejnych zdroju (s odkazem do CEP)
Others
Publication year
2020
Confidentiality
S - Úplné a pravdivé údaje o projektu nepodléhají ochraně podle zvláštních právních předpisů
Data specific for result type
Article name in the collection
Proceedings of the 20th International Conference on Runtime Verification
ISBN
978-3-030-60507-0
ISSN
0302-9743
e-ISSN
—
Number of pages
12
Pages from-to
298-309
Publisher name
Springer
Place of publication
Berlin
Event location
online
Event date
Oct 6, 2020
Type of event by nationality
WRD - Celosvětová akce
UT code for WoS article
—