Přístupnostní navigace
E-application
Search Search Close
Master's Thesis
Author of thesis: Ing. Lukáš Petr
Acad. year: 2024/2025
Supervisor: Ing. Viktor Malík, Ph.D.
Reviewer: Ing. David Kozák
The goal of this work is to propose and create two automation for DiffKemp, a semantic equivalence checking tool, which would be useful for its development. The first aim is to create an automation that would simplify the impact assessment of new DiffKemp features. The second goal is to create a solution that would automatically evaluate new versions of open-source projects with DiffKemp, simplify reviewing of the results, allow classification of their correctness, and record them. The first goal is achieved and is documented in this thesis, the second part is implemented but not documented. The EqBench dataset and the RHEL kernel projects were chosen for the automatization. Comparing the results of these projects gained by using the original DiffKemp version with results attained by using the version containing the new feature was selected as the assessment method. A GitHub App was created using the Probot framework and Podman container for the automation. Finally, the created solution was evaluated on previous features that were added to DiffKemp.
DiffKemp, semantic differences, automation, software development, pull requests, evaluation, continuos integration, Linux kernel, EqBench benchmark, GitHub App
Date of defence
23.06.2025
Result of the defence
Defended (thesis was successfully defended)
Grading
C
Process of 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, např. ohledně automatického provádění frameworku DiffKemp. 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 - dobře.
Topics for thesis defence
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Intelligent Systems
Study programme
Information Technology and Artificial Intelligence (MITAI)
Specialization
Information Systems and Databases (NISD)
Composition of Committee
doc. Dr. Ing. Dušan Kolář (předseda) RNDr. Marek Rychlý, Ph.D. (člen) Ing. Zbyněk Křivka, Ph.D. (člen) Ing. Šárka Květoňová, Ph.D. (člen) Ing. Radek Hranický, Ph.D. (člen) Ing. Jiří Hynek, Ph.D. (člen)
Supervisor’s reportIng. Viktor Malík, Ph.D.
The student did a good amount of work and implemented working solutions combining multiple non-trivial technologies which can be deployed to production with minimal changes required. Unfortunately, the overall impression of the work is spoiled by the unfinished second part which is missing evaluation and description in the final report. Despite this shortcoming, I believe that the student has still proven sufficient engineering skills and capabilities and I would recommend accepting this diploma thesis. Except for the last few weeks, the student's approach was excellent and therefore I propose grade B (very good).
The thesis consists of implementing two automation solutions for an existing static code analyser DiffKemp, which is a research project whose priority is applicability in industrial environment. The created automations should help achieving this goal by simplifying evaluation of DiffKemp on existing open-source projects. On top of studying and understanding DiffKemp itself, the automations required to design and implement end-to-end solutions in different real-world environments (GitHub Actions, custom web service). That required the student to familiarize himself with a handful of technologies, evaluate them, and pick the best ones for implementation. Therefore, I consider the complexity of the assignment slightly above average. While both automations were implemented and are now in the process of being deployed, the second part is not described in the thesis text and no experiments were performed with it. This was caused by the student's sudden drop of productivity during the final weeks of the semester. Despite this shortcoming, I believe that the extent of the parts that were implemented and are described in the text is sufficient for a diploma thesis project.
While student's activity during the first three quarters of the academic year was exceptional, it was exactly the opposite during the final weeks when the student was supposed to perform additional experiments and finish the text. This sudden drop of productivity (student was still responsive and acknowledged this problem) caused the thesis not to be entirely finished. Especially some parts of the final report were written in a harsh manner without me having sufficient time to review them.
The implementation of the first part (the one described in the thesis) is currently a private GitHub project under DiffKemp organization and undergoes review from DiffKemp maintainers. Once the reviews are finished, the project will be made public. The same should eventually happen to the second part of the thesis.
The thesis is mostly about the implementation so not much literature was required to be studied. On the other hand, the assignment required to explore a rather large amount of different technologies, projects, and libraries which the student did in a very thourough manner.
Since the beginning of the academic year, the student was very active, we met periodically and he was almost always able to present new progress in the thesis.
Grade proposed by supervisor: B
Reviewer’s reportIng. David Kozák
Overall, the thesis is well-structured and easy to follow, with outcomes that should be immediately useful to the DiffKemp developers. Unfortunately, goal 3) was not addressed in the text (although it was properly implemented), which prevents me from recommending a higher grade. That said, even without the inclusion of goal 3), the thesis is of appropriate length, covers sufficient detail, and meets the expectations for a high-quality master’s thesis. Given the circumstances and the amount of work the student has done, I believe the grade could be further improved during the thesis defence if the student delivers a strong presentation.
Evaluation level: zadání téměř splněno s drobnými výhradami
My main objection is the lack of discussion about goal 3) in the text, which means that only the automated evaluation of new DiffKemp features is covered, but not the automated execution of DiffKemp on new versions or patches of selected projects.
Evaluation level: je v obvyklém rozmezí
The thesis is of typical length, with all chapters containing meaningful content and being appropriately structured. It reads well and is highly informative.
The thesis is well-structured into logical sections that provide a natural reading flow. The topic is clearly described, and the text is easy to follow.
The text is neatly typeset and written in clear, appropriate language.
The thesis includes an in-depth review of relevant topics and the current state of DiffKemp development. It is evident that the student dedicated a sufficient amount of time to understanding the domain before proceeding to the implementation.
The technical solution is well-structured, with clearly documented and easy-to-follow code. It should be both reusable and easily extensible. Moreover, it addresses all the goals outlined in the thesis assignment, making it clear that, although the text does not cover goal 3), the implementation itself is thorough and complete.
The output of this work is expected to be valuable to the developers of DiffKemp, making the thesis a meaningful and valuable contribution to the project.
Evaluation level: obtížnější zadání
I find the thesis assignment challenging, as it involves two core goals that, while somewhat overlapping, address different use cases. Each of these goals would be a complex task on its own, so developing a solution that fulfils both represents a significant effort.
Grade proposed by reviewer: C
Responsibility: Mgr. et Mgr. Hana Odstrčilová