| | SLO | ENG | Piškotki in zasebnost

Večja pisava | Manjša pisava

Iskanje po katalogu digitalne knjižnice Pomoč

Iskalni niz: išči po
išči po
išči po
išči po
* po starem in bolonjskem študiju

Opcije:
  Ponastavi


1 - 1 / 1
Na začetekNa prejšnjo stran1Na naslednjo stranNa konec
1.
Metoda kontekstno odvisne vektorske predstavitve sprememb programske kode za klasifikacijo vrste aktivnosti vzdrževanja : doktorska disertacija
Tjaša Heričko, 2024, doktorska disertacija

Opis: V doktorski disertaciji obravnavamo raziskovalni problem avtomatizacije prepoznavanja namenov sprememb programskih rešitev, izvedenih v fazi vzdrževanja. Klasifikacija programskih sprememb glede na vrsto aktivnosti vzdrževanja, ki odraža specifične namene sprememb, omogoča učinkovitejšo analizo in načrtovanje vzdrževanja, podpira delovne procese in naloge razvijalcev ter se pogosto uporablja v raziskavah programskega inženirstva za proučevanje sprememb in evolucije rešitev. S ciljem ugotavljanja raziskovalnih vrzeli smo s sistematičnim pregledom literature proučili obstoječe pristope h klasifikaciji sprememb programskih rešitev glede na vrsto aktivnosti vzdrževanja. Za naslovitev teh vrzeli smo s študijo sistematičnega mapiranja pregledali pristope vektorizacije sprememb programske kode z učenjem predstavitev na podlagi izvorne kode, ki se v obstoječi literaturi uporabljajo za naslavljanje različnih izzivov programskega inženirstva. Na podlagi ugotovitev smo razvili in predlagali novo metodo kontekstno odvisne vektorske predstavitve sprememb programske kode, ki omogoča ekstrakcijo semantičnih značilk sprememb izvorne kode med dvema različicama programske rešitve ob upoštevanju konteksta sprememb. Predlagana metoda predstavi spremembo programske rešitve kot množico podrobnih sorodnih sprememb programske kode, temelječih na predstavitvah zaznanih razlik v izvorni kodi na osnovi žetonov. Za ekstrakcijo semantičnih vložitev sorodnih sprememb metoda uporablja strojno učenje s prenosom znanja iz izbranega prednaučenega jezikovnega modela programske kode iz družine modelov BERT, kot so CodeBERT, UniXcoder in StarEncoder, ki je bil predhodno dodatno prilagojen ciljni nalogi s paradigmama samonadzorovanega in nadzorovanega učenja. Pridobljene vektorske vložitve podrobnih sorodnih sprememb so nato združene v enotno semantično vektorsko predstavitev spremembe programske rešitve. Za klasifikacijo sprememb programskih rešitev glede na vrsto aktivnosti vzdrževanja smo na označeni podatkovni množici izgradili modele strojnega učenja, pri čemer smo za ekstrakcijo značilk uporabili predlagano metodo ter referenčne in obstoječe metode predstavitve sprememb rešitev. Z nadzorovanim eksperimentom, študijo ablacije in primerjalno študijo smo proučili vpliv različnih parametrov predlagane metode predstavitve sprememb na uspešnost klasifikacije, primerjali uspešnost klasifikacije ob uporabi predlagane metode v primerjavi z uporabo referenčnih in obstoječih metod predstavitve sprememb ter ovrednotili uspešnost multimodalnih modelov strojnega učenja, temelječih na nadgradnji obstoječih metod predstavitve sprememb s predlagano metodo z združevanjem modalnosti naravnega jezika in programske kode. Empirične rezultate smo statistično analizirali s pomočjo frekventistične in Bayesove statistike. Izsledki raziskav potrjujejo izhodiščno tezo, da je z uporabo nove metode mogoče izgraditi modele strojnega učenja, ki uspešno klasificirajo spremembe programskih rešitev glede na vrsto aktivnosti vzdrževanja. Osrednje ugotovitve doktorske disertacije so naslednje: vektorske predstavitve sprememb programske kode na osnovi predlagane metode dosegajo primerljivo ali višjo uspešnost pri klasifikaciji v primerjavi s predstavitvami na osnovi referenčnih in obstoječih metod; zmanjšanje dimenzionalnosti kontekstno odvisnih vektorskih predstavitev sprememb omogoča zmanjšanje števila dimenzij brez negativnega vpliva na uspešnost klasifikacije; multimodalni klasifikacijski modeli dosegajo višjo uspešnost klasifikacije v primerjavi z unimodalnimi modeli.
Ključne besede: vzdrževanje programske opreme, spremembe programskih rešitev, rudarjenje repozitorijev programskih rešitev, strojno učenje, klasifikacija, nevronski jezikovni modeli programske kode, vektorske predstavitve, vektorska vložitev
Objavljeno v DKUM: 06.01.2025; Ogledov: 0; Prenosov: 40
.pdf Celotno besedilo (5,56 MB)

Iskanje izvedeno v 0.04 sek.
Na vrh
Logotipi partnerjev Univerza v Mariboru Univerza v Ljubljani Univerza na Primorskem Univerza v Novi Gorici