• Nie Znaleziono Wyników

Index of /rozprawy2/11576

N/A
N/A
Protected

Academic year: 2021

Share "Index of /rozprawy2/11576"

Copied!
2
0
0

Pełen tekst

(1)

Modelowanie jakości kodu źródłowego na podstawie danych gromadzonych

w systemach kontroli wersji

W ramach rozprawy zbudowano jakościowy model kodu źródłowego (Source Code Quality Model - SCQM), którego zadaniem jest automatyczna klasyfikacja jakości kodu. Wykorzystano w tym celu metody uczenia maszynowego znane z przetwarzania języka naturalnego. Rozprawa wykazuje, że jakościowy model kodu źródłowego zrealizowany na podstawie dwukierunkowej rekurencyjnej sieci neuronowej cechuje większa trafność w rozpoznawaniu jakości kodu źródłowego niż jakiekolwiek z dostępnych obecnie rozwiązań. W przeprowadzonej ewaluacji zbudowany model poprawnie sklasyfikował jakość kodu dla 79% przykładów, podczas gdy druga pod względem skuteczności istniejąca metryka osiągnęła jedynie 57%. Aby osiągnąć ten cel, wybrano ponad 15000 zmian wprowadzających refaktoryzację do 350 projektów tworzonych w języku Java. Posłużyły one do zbudowania danych treningowych dla zaprojektowanego modelu, który został nauczony subiektywnego pojęcia kodu źródłowego wysokiej jakości. Ponadto, przeprowadzono badanie wśród programistów mające na celu zebrać opinie o jakości przykładów kodu źródłowego. W badaniu wzięło udział ponad 500 programistów, oddając ponad 5000 głosów i klasyfikując w ten sposób 645 przykładów refaktoryzacji. Zbiór tych refaktoryzacji został wykorzystany zarówno do trenowania jak i walidacji modelu. Zostały one także opublikowane jako jakościowy benchmark kodu źródłowego.

(2)

Source code quality modelling leveraging the data stored in version control

systems

The author of the thesis builds a Source Code Quality Model (SCQM) that classifies the quality of the source code. It leverages the machine learning methods commonly used in natural language processing. The thesis concludes that the model implemented on top of a bidirectional recurrent neural network reaches better accuracy in classifying the source code quality than currently available tools or metrics. An evaluation of the model results in detecting appropriate source code quality for 79% of examples. The second best compared solution succeeded in 57% only. This achievement has been preceded with a gathering of over 15000 source code changes that introduce refactorings to 350 Java open source projects. Collected samples have been used to build a training dataset for the designed model which has been taught an opinion based classification of the source code readability. Moreover, a subset of gathered refactoring samples has been further categorized in a source code quality survey in order to further improve the total accuracy of the model. More than 500 programmers took part in the experiment, leaving over 5000 opinions about the presented source code examples. This enabled the aturhot to build a source code quality benchmark out of the 645 samples that have been precisely classified by humans. The benchmark has been used to both training and validation of the model.

Cytaty

Powiązane dokumenty

However, in Order-1 algorithms only one qubit coordinate might be independently modified (one degree of freedom), while in Order-2 algorithms the same can be done with 3 out of

The equal number of hving species found in Bareng and Sonde leaves no doubt as to both faunas, though differing in species, re- presenting the same horizon of the Phocene, as

For resolving a problem of automation of ophthalmology diagnostic procedures the method of estimation of an electroretinogram by recursive optimal processing of an

Key words: vertical milling machine, regular microprojection, device for forming regular microprojection, total square of the surface, relative square of vibro-

Formation of low- temperature photo-ionized neon plasmas induced by nanosecond EUV pulses from the laser plasma source and by femtosecond EUV pulses from the

Case study 1: Structural damage detection in aluminium plates using lamb waves under temperature variations .... Lamb wave data contaminated by

Emma places €8000 in a bank account that pays a nominal interest rate of 5 per annum, compounded quarterly.. (a) Calculate the amount of money that Emma would have in her

Theorem (edges of Delauney traingulation belonging to MST) In a minimum spanning tree of a fully connected Euclidean graph, a lower bound for an angle between adjacent edges is equal