Vizualizace výsledků statického porovnávání sémantické ekvivalence různých verzí software v jazyce C

Loading...
Thumbnail Image
Date
Authors
Petr, Lukáš
ORCID
Mark
C
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Cílem této práce je vytvořit přehlednější prezentaci výsledků nástroje DiffKemp sloužícího pro statickou analýzu sémantických rozdílů ve velkých projektech napsaných v jazyce C. V současnosti DiffKemp zobrazuje všechny informace o nalezených rozdílech v nestrukturované textové podobě, což je pro uživatele mnohdy nepřehledné. Pro vyřešení tohoto problému byl v této práci vytvořen nový výstup nástroje DiffKemp, který poskytuje výsledky v serializované podobě pomocí formátu YAML. Tento výstup je následně zpracován a zobrazen pomocí nově vytvořeného prohlížeče výsledků, realizovaného jako webová aplikace pomocí knihovny React, frameworku Bootstrap a balíčku react-diff-view. Dále se práce zaměřila na poskytnutí uživateli dodatečného kontextu ve formě zdrojových kódů analyzovaných funkcí a usnadnění navigace a orientace v nalezených rozdílech a k nim poskytovaných informací jako jsou zásobníky volání. Provedené srovnání nově vytvořeného prohlížeče ukázalo, že usnadňuje uživateli oproti původnímu řešení rozpoznat změny v poskytovaných zásobnících volání a umožňuje mu rychlejší navigaci ve výsledcích a také mezi vztahy nalezených rozdílů a analyzovaných částí.
The aim of this thesis is to create a more comprehensive presentation of results of the DiffKemp tool, which is used for static analysis of semantic differences in large projects written in C. Currently, DiffKemp displays all information about the found differences in an unstructured text which is often confusing for users. To solve this problem, a new output of the DiffKemp tool was created in this thesis, which provides the results in a serialized form using the YAML format. This output is subsequently processed and displayed using a newly created results browser, implemented as a web application using the React library, the Bootstrap framework, and the react-diff-view package. In the browser, we focus on providing an additional context in the form of source codes of the analyzed functions, and on facilitation of navigation and orientation in the found differences as well as in the provided information such as the call stacks. A comparison of the newly created browser with the original solution has shown that it is easier for the user to recognize changes in the provided call stacks and that the new browser allows him to navigate faster in the results as well as between relationships of the found differences and analysed parts.
Description
Citation
PETR, L. Vizualizace výsledků statického porovnávání sémantické ekvivalence různých verzí software v jazyce C [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Informační technologie
Comittee
prof. Ing. Tomáš Vojnar, Ph.D. (předseda) doc. Ing. Petr Matoušek, Ph.D., M.A. (člen) Ing. František Grézl, Ph.D. (člen) doc. Ing. Tomáš Martínek, Ph.D. (člen) Ing. Matěj Grégr, Ph.D. (člen)
Date of acceptance
2023-06-15
Defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C.
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení
DOI
Collections
Citace PRO