Original title:
Rozšíření frameworku ANaConDA pro podporu kontraktů s parametry a jejich omezeními
Translated title:
Towards Parameterized Contract Validator in ANaConDA Framework
Authors:
Mužikovská, Monika ; Fiedor, Tomáš (referee) ; Smrčka, Aleš (advisor) Document type: Bachelor's theses
Year:
2018
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Tato práce se zabývá problematikou kontraktů pro paralelismus. Jedná se o protokol umožňující specifikovat požadavky na atomicitu v paralelních programech a následnou tvorbu automatických nástrojů pro detekci porušení atomicity. Součástí prostředí ANaConDA pro dynamickou analýzu programů je nástroj pro detekci tohoto druhu chyb, ale jeho výsledky mohou být příliš obecné. Cílem práce bylo navrhnout a implementovat metodu, která bude podporovat kontrakty rozšířené o parametry a jejich omezení, což povede k přesnějším výsledkům analýzy. Experimenty provedené pomocí nově vzniklého analyzátoru na programech se známými chybami ukázaly, že díky zahrnutí parametrů do analýzy je možné výsledky zredukovat až o desítky hlášení o situacích, které při zohlednění kontextu nejsou chybné a pouze zbytečně zatěžovaly vývojáře a znesnadňovaly odhalení skutečných chyb.
This work deals with problematics of contracts for parallelism. It is a technique allowing to specify requirements for atomicity in parallel programs and to create automatic tools for detection of atomicity violation. ANaConDA framework provides dynamic analyser called Contract-validator which can detect contract violations in parallel programs. However, due to analysis without context, it can produce a lot of warnings about contract violation that are not considered as errors. The aim of this work was to design and implement a method supporting contracts extended with parameters and their constraints which will lead to more accurate results of the analysis. Experiments using newly created analyser on a set of benchmarks with known atomicity violations showed that analysis with parameters can reduce the results by dozens of reports that unnecessarily burdened developers and made it harder to reveal real errors.
Keywords:
ANaConDA framework; atomicity violation; contracts; dynamic analysis; multithreading; parameters; ANaConDA; dynamická analýza; kontrakty; parametry; porušení atomicity; vícevláknové programování
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/85045