magistrsko delo

Povzetek

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.

Ključne besede

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

Podatki

Jezik: Slovenski jezik
Leto izida:
Tipologija: 2.09 - Magistrsko delo
Organizacija: UM FERI - Fakulteta za elektrotehniko, računalništvo in informatiko
Založnik: [A. Miloševič]
UDK: 004.8:004.415.3(043.2)
COBISS: 23085334 Povezava se bo odprla v novem oknu
Št. ogledov: 781
Št. prenosov: 182
Ocena: 0 (0 glasov)
Metapodatki: JSON JSON-RDF JSON-LD TURTLE N-TRIPLES XML RDFA MICRODATA DC-XML DC-RDF RDF

Ostali podatki

Sekundarni jezik: Angleški jezik
Sekundarni naslov: Analysis of vectorized source code with machine learning
Sekundarni povzetek: 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.
Sekundarne ključne besede: artificial neural networks;code embeding;source code;machine learning;
Vrsta dela (COBISS): Magistrsko delo/naloga
Komentar na gradivo: Univ. v Mariboru, Fak. za elektrotehniko, računalništvo in informatiko, Informatika in tehnologije komuniciranja
Strani: XI, 100 f.
ID: 11356732