Zobrazit minimální záznam

Knihovna pro dynamickou analýzu programů v jazyce C# na platformě .NET
dc.contributor.advisorParízek, Pavel
dc.creatorČižmárik, Andrej
dc.date.accessioned2020-02-27T10:19:59Z
dc.date.available2020-02-27T10:19:59Z
dc.date.issued2020
dc.identifier.urihttp://hdl.handle.net/20.500.11956/116768
dc.description.abstractDynamic analysis is a technique used to analyse the behaviour of programs, which can be utilized when searching for various software errors. Nowadays, there is a trend in software development towards multi-threaded programs that are, undeniably, prone to race conditions. Furthermore, software errors that stem from timing issues and incorrect ordering of operations across individual threads are generally hard to find, since they are by nature non-deterministic. We decided to implement a dynamic analysis framework for C# programs, along with two well-known algorithms capable of detecting and predicting data-races. As a result, we created an extensible and configurable tool, SharpDetect, that supports dynamic analysis of CIL programs created by compilation from C# source code on platforms supported by .NET Core. To demonstrate its practical usefulness, SharpDetect was successfully applied on NetMQ, C# implementation of ZeroMQ, where it found one real software error.en_US
dc.description.abstractDynamická analýza je metóda používaná na analýzu chovania programov, čo môže byť využité pri hľadaní rôznych chýb v softwari. V dnešnej dobe je trend vo vývoji viacvláknových programov, kde môžu bezpochyby nas- tať problémy so synchronizáciou vlákien. Navyše, pôvod chýb v softwari, ktoré sú spôsobené rozdielnym naplánovaním a usporiadaním operácií, je ťažko odhaliteľný, nakoľko sú tieto chyby nedeterministické. Rozhodli sme sa naimplementovať framework na dynamickú analýzu programov napísaných v jazyku C# spolu s dvoma známymi algoritmami, ktoré sa používajú na de- tekciu a predikciu data-race-ov. Vo výsledku sme vytvorili konfigurovateľný a rozšíriteľný nástroj SharpDetect, ktorý podporuje dynamickú analýzu CIL programov. Konkrétne ide o programy napísané v jazyku C# pre platformy podporované frameworkom .NET Core. Na ukážku užitočnosti vytvoreného riešenia bol SharpDetect úspešne nasadený na knižnicu NetMQ, čo je imple- mentácia ZeroMQ v programovacom jazyku C# a kde našiel jednu skutočnú chybu.cs_CZ
dc.languageEnglishcs_CZ
dc.language.isoen_US
dc.publisherUniverzita Karlova, Matematicko-fyzikální fakultacs_CZ
dc.subjectdynamická analýzacs_CZ
dc.subjectdata-racecs_CZ
dc.subjectNET Corecs_CZ
dc.subjectdynamic analysisen_US
dc.subjectdata-racesen_US
dc.subjectNET Coreen_US
dc.titleDynamic Analysis Framework for C#/.NET Programsen_US
dc.typediplomová prácecs_CZ
dcterms.created2020
dcterms.dateAccepted2020-02-06
dc.description.departmentKatedra distribuovaných a spolehlivých systémůcs_CZ
dc.description.departmentDepartment of Distributed and Dependable Systemsen_US
dc.description.facultyFaculty of Mathematics and Physicsen_US
dc.description.facultyMatematicko-fyzikální fakultacs_CZ
dc.identifier.repId209472
dc.title.translatedKnihovna pro dynamickou analýzu programů v jazyce C# na platformě .NETcs_CZ
dc.contributor.refereeBulej, Lubomír
thesis.degree.nameMgr.
thesis.degree.levelnavazující magisterskécs_CZ
thesis.degree.disciplineSoftware Systemsen_US
thesis.degree.disciplineSoftwarové systémycs_CZ
thesis.degree.programComputer Scienceen_US
thesis.degree.programInformatikacs_CZ
uk.thesis.typediplomová prácecs_CZ
uk.taxonomy.organization-csMatematicko-fyzikální fakulta::Katedra distribuovaných a spolehlivých systémůcs_CZ
uk.taxonomy.organization-enFaculty of Mathematics and Physics::Department of Distributed and Dependable Systemsen_US
uk.faculty-name.csMatematicko-fyzikální fakultacs_CZ
uk.faculty-name.enFaculty of Mathematics and Physicsen_US
uk.faculty-abbr.csMFFcs_CZ
uk.degree-discipline.csSoftwarové systémycs_CZ
uk.degree-discipline.enSoftware Systemsen_US
uk.degree-program.csInformatikacs_CZ
uk.degree-program.enComputer Scienceen_US
thesis.grade.csVýborněcs_CZ
thesis.grade.enExcellenten_US
uk.abstract.csDynamická analýza je metóda používaná na analýzu chovania programov, čo môže byť využité pri hľadaní rôznych chýb v softwari. V dnešnej dobe je trend vo vývoji viacvláknových programov, kde môžu bezpochyby nas- tať problémy so synchronizáciou vlákien. Navyše, pôvod chýb v softwari, ktoré sú spôsobené rozdielnym naplánovaním a usporiadaním operácií, je ťažko odhaliteľný, nakoľko sú tieto chyby nedeterministické. Rozhodli sme sa naimplementovať framework na dynamickú analýzu programov napísaných v jazyku C# spolu s dvoma známymi algoritmami, ktoré sa používajú na de- tekciu a predikciu data-race-ov. Vo výsledku sme vytvorili konfigurovateľný a rozšíriteľný nástroj SharpDetect, ktorý podporuje dynamickú analýzu CIL programov. Konkrétne ide o programy napísané v jazyku C# pre platformy podporované frameworkom .NET Core. Na ukážku užitočnosti vytvoreného riešenia bol SharpDetect úspešne nasadený na knižnicu NetMQ, čo je imple- mentácia ZeroMQ v programovacom jazyku C# a kde našiel jednu skutočnú chybu.cs_CZ
uk.abstract.enDynamic analysis is a technique used to analyse the behaviour of programs, which can be utilized when searching for various software errors. Nowadays, there is a trend in software development towards multi-threaded programs that are, undeniably, prone to race conditions. Furthermore, software errors that stem from timing issues and incorrect ordering of operations across individual threads are generally hard to find, since they are by nature non-deterministic. We decided to implement a dynamic analysis framework for C# programs, along with two well-known algorithms capable of detecting and predicting data-races. As a result, we created an extensible and configurable tool, SharpDetect, that supports dynamic analysis of CIL programs created by compilation from C# source code on platforms supported by .NET Core. To demonstrate its practical usefulness, SharpDetect was successfully applied on NetMQ, C# implementation of ZeroMQ, where it found one real software error.en_US
uk.file-availabilityV
uk.grantorUniverzita Karlova, Matematicko-fyzikální fakulta, Katedra distribuovaných a spolehlivých systémůcs_CZ
thesis.grade.code1
uk.publication-placePrahacs_CZ


Soubory tohoto záznamu

Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail

Tento záznam se objevuje v následujících sbírkách

Zobrazit minimální záznam


© 2017 Univerzita Karlova, Ústřední knihovna, Ovocný trh 560/5, 116 36 Praha 1; email: admin-repozitar [at] cuni.cz

Za dodržení všech ustanovení autorského zákona jsou zodpovědné jednotlivé složky Univerzity Karlovy. / Each constituent part of Charles University is responsible for adherence to all provisions of the copyright law.

Upozornění / Notice: Získané informace nemohou být použity k výdělečným účelům nebo vydávány za studijní, vědeckou nebo jinou tvůrčí činnost jiné osoby než autora. / Any retrieved information shall not be used for any commercial purposes or claimed as results of studying, scientific or any other creative activities of any person other than the author.

DSpace software copyright © 2002-2015  DuraSpace
Theme by 
@mire NV