magistrsko delo

Abstract

Statična analiza izvorne kode je pomemben del razvoja programske opreme, ki pa ima nekaj pomembnih pomanjkljivosti, ker z metrik programske kode ne moremo sklepati o semantični pravilnosti. Kot potencialno rešitev smo v magistrskem delu raziskali nevronsko mrežo Code2Vec. V teoretičnem delu smo obravnavali osnovne koncepte umetnih nevronskih mrež, tehnike redukcij dimenzionalnosti vektorjev in delovanje Code2Vec. V praktičnem delu smo izvedli eksperiment vizualizacije, klasifikacije in gručenja nad podatkovno množico, ki jo sestavljajo tako visoko-dimenzionalni vektorji kot tudi splošne značilnosti programske kode metod šestih odprtokodnih projektov. Glede na rezultate sklepamo, da so vektorji Code2Vec koristni za izvedbo statične analize kode.

Keywords

nevronske mreže;vektorizacija;izvorna koda;strojno učenje;magistrske naloge;

Data

Language: Slovenian
Year of publishing:
Typology: 2.09 - Master's Thesis
Organization: UM FERI - Faculty of Electrical Engineering and Computer Science
Publisher: [A. Miloševič]
UDC: 004.8:004.415.3(043.2)
COBISS: 23085334 Link will open in a new window
Views: 781
Downloads: 182
Average score: 0 (0 votes)
Metadata: JSON JSON-RDF JSON-LD TURTLE N-TRIPLES XML RDFA MICRODATA DC-XML DC-RDF RDF

Other data

Secondary language: English
Secondary title: Analysis of vectorized source code with machine learning
Secondary abstract: Static software analysis as an integral part of software development has important flaws because it is impossible to discern the semantic structure and correctness of software from metrics alone. In this work, we have researched the neural network Code2Vec as a potential solution to this problem. In the theoretical segment, we have described the basics of neural networks, dimensionality reduction techniques and the inner workings of Code2Vec. In the practical segment, we have conducted a visualization, classification and clustering experiment using a dataset comprised of standard features as well as Code2Vec code embeddings of Java methods. We can conclude from the results of the experiment that Code2Vec embeddings are an appropriate tool for static code analysis.
Secondary keywords: artificial neural networks;code embeding;source code;machine learning;
Type (COBISS): Master's thesis/paper
Thesis comment: Univ. v Mariboru, Fak. za elektrotehniko, računalništvo in informatiko, Informatika in tehnologije komuniciranja
Pages: XI, 100 f.
ID: 11356732