Original title:
Vliv kopírování kódu na kvalitu softwarového projektu
Translated title:
Influence of Code Copying on the Quality of a Software Project
Authors:
Chovanec, Zdeněk ; Rychlý, Marek (referee) ; Křivka, Zbyněk (advisor) Document type: Bachelor's theses
Year:
2019
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Tato práce se věnuje problematice nalezení zkopírovaných úseků kódu. Pozornost je přitom zaměřena na programovací jazyk Python verze 3 a na úseky kódu pocházející ze služby Stack Overflow. Cílem práce je vyhodnocení vlivu kopírování kódu na kvalitu softwarového projektu. Detekce úryvků kódu uvnitř softwarového projektu je provedena pomocí nástroje NiCad. Výchozí proces detekce byl upraven tak, aby se podařilo nalézt co největší počet shodných úryvků. Kvalita kódu je měřena podle míry obsahu duplicitního kódu a dále podle počtu nahlášených chyb daného projektu. Vliv kopírování na kvalitu je vyhodnocen na vzorku open-source projektů pocházejících ze služby GitHub. Vztah mezi přítomností úryvku ze služby Stack Overflow a kvalitou projektu byl prokázán formou statistického testu.
This work delves into the field of code clone detection, focusing on Python programming language. We are interested in finding Stack Overflow snippets in real projects. The main goal of this work is to evaluate the influence of copy-and-paste programming on the overall quality of a software project. The NiCad clone detector is used to detect similar code fragments. Additionally, modification of this tool is presented in order to improve the detection process. Code quality is assessed by the volume of duplicate code and by the number of reported issues. The impact is evaluated on a sample of open-source projects hosted on GitHub. We perform a series of statistical hypothesis tests and conclude that there is a~correlation between source code quality and the presence of Stack Overflow snippet in the code base.
Keywords:
code clone detection; code quality; code snippet; duplicate code; NiCad; Python 3; source code transformation; Stack Overflow; TXL; detekce duplicitního kódu; duplicitní kód; kvalita kódu; NiCad; Python 3; Stack Overflow; transformace zdrojového kódu; TXL; úryvek kódu
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/180244