1. Metoda kontekstno odvisne vektorske predstavitve sprememb programske kode za klasifikacijo vrste aktivnosti vzdrževanja : doktorska disertacijaTjaša Heričko, 2024, doctoral dissertation Abstract: 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. Keywords: 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 Published in DKUM: 06.01.2025; Views: 0; Downloads: 38
Full text (5,56 MB) |
2. Programska rešitev za upravljanje it opremeBlaž Hribernik, 2024, undergraduate thesis Abstract: Predmet diplomske naloge je razvoj programske rešitve za upravljanje informacijsko
komunikacijske opreme kot osnovnega sredstva v obravnavanem podjetju.
Zatečeno stanje je bilo v današnjem digitalnem svetu povsem zastarelo, saj je podjetje
v delovnem procesu še vedno uporabljalo ročno izpolnjene papirnate obrazce in za bazo
zapisov tabelo v programu Excel. Posnetek stanja je razkril vse pomanjkljivosti in
težave, ki so se pojavljaje pri samem delu.
V začetni fazi smo izbirali med že razvitimi namenskimi rešitvami in razvojem
programske rešitve v programu Power Apps, ki je del sklopa programov okolja
Microsoft 365. Za bazo podatkov smo uporabili Microsoft Dataverse.
Programska rešitev omogoča sodoben vnos opreme v bazo podatkov, urejanje
podatkov o sami opremi in uporabnikih, ki opremo uporabljajo, pripravo dokumenta za
potrebe arhiviranja, pošiljanje sprememb v dotičen oddelek podjetja ter na koncu še
podrobno analizo in pregled stanja opreme tako v tabelarični kakor tudi grafični obliki.
Med uporabniki je bila programska rešitev zelo pozitivno sprejeta, saj je enostavna za uporabo,
pregledna, uporabniku prijazna in hkrati upošteva vse smernice sodobnega razvoja
programskih rešitev. Z rešitvijo smo dosegli vse zastavljene cilje, to je prihranek časa in
minimizacija možnosti napak, s postopkom digitalizacije pa delovni proces postavili tudi v
sodoben čas. Praktično delo uporabnikov je pokazalo nekaj priložnosti za izboljšave zlasti pri
vnosu opreme v bazo, sočasnem pošiljanju sprememb bodisi pri uporabniku ali osnovnem
sredstvu in vse do možnosti uvedbe sodobnejših tehnologij, ki nadomeščajo tehnologijo črtne
kode. Keywords: programska rešitev, osnovna sredstva, programiranje z malo ali brez
kode Published in DKUM: 19.11.2024; Views: 0; Downloads: 5
Full text (1,69 MB) |
3. Primerjava orodij za zaznavanje pomankljive programske kode : diplomsko deloAnja Horvat, 2024, undergraduate thesis Abstract: V sodobni dobi digitalizacije in razvoja programske opreme je kakovost kode ključnega pomena za zagotavljanje stabilnosti, učinkovitosti in varnosti informacijskih sistemov. Diplomsko delo je namenjeno analizi in primerjavi orodij za zaznavanje pomanjkljive programske kode. V njem je predstavljeno, kaj sploh pomanjkljiva programska koda je in kakšne tipe poznamo. Predstavimo tudi orodja za zaznavanje pomanjkljive programske kode in jih analiziramo.Med analizo različnih orodij smo opazili, da ima vsako orodje svoje prednosti in omejitve. Čeprav večina omogoča zaznavanje različnih vrst pomanjkljivosti in prilagajanje pravil, smo opazili razlike v učinkovitosti in uporabniški izkušnji. Izbira pravega orodja je ključnega pomena za izboljšanje kakovosti in vzdržljivosti programske opreme. Keywords: Kakovost kode, pomanjkljiva programska koda, tipi pomanjkljive programske kode, orodja, učinkovitost, uporabniška izkušnja Published in DKUM: 03.06.2024; Views: 154; Downloads: 28
Full text (2,64 MB) |
4. Phishing z uporabo QR-kod : diplomsko delo visokošolskega študijskega programa Informacijska varnostTian Leljak, 2023, undergraduate thesis Abstract: QR-kode so postale integralni del naše digitalne komunikacije, saj ponujajo učinkovite rešitve za različne vidike digitalne komunikacije, od plačilnih mehanizmov do marketinških strategij ali preprostega deljenja informacij. To dosežejo z izjemno kapaciteto shranjevanja informacij na zelo majhnem prostoru. Kljub njihovi široki uporabi pa, podobno kot pri mnogih drugih tehnoloških inovacijah, niso imune na varnostne grožnje. V tej študiji smo analizirali specifično varnostno tveganje – phishing napade z uporabo QR-kod. Medtem ko so bili prejšnji phishing napadi večinoma omejeni na e-pošto in različne prevare, ki so uporabljale tehnike socialnega inženiringa na digitalnih platformah, je uporaba QR-kod v phishing napadih predstavila novo obzorje možnih groženj – izvajanje digitalnih prevar skozi fizični svet. Napadalci spretno izkoriščajo neznanje uporabnikov za visoko uspešnost svojih zlonamernih prevar. Posledice napadov so lahko katastrofalne tako za posameznike kot za organizacije, ki so žrtve uspešnih napadov. V diplomskem delu je predstavljen izdelan primer napada s pomočjo QR-kod. Začnemo z idejno zasnovo in strategijo napada ter nadaljujemo z opisom razvojnih faz, od ponarejevanja spletnih strani do zbiranja podatkov žrtev. Na koncu so izpostavljene še potencialne nepravilnosti, na katere morajo biti uporabniki pozorni, da se uspešno varujejo pred tovrstnimi napadi. Keywords: phishing, QR-kode, spletna varnost, socialni inženiring, diplomske naloge Published in DKUM: 26.09.2023; Views: 340; Downloads: 56
Full text (1,63 MB) |
5. Sikvel: generator ogrodja podatkovne baze : magistrsko deloNikolaj Čolić, 2023, master's thesis Abstract: V magistrski nalogi smo izdelali ogrodje podatkovne baze s pomočjo programskega orodja JetBrains MPS ter uporabo funkcionalnosti Generator in pristopom Model2Model. Naloge smo se lotili sistematično, najprej smo se dobro seznanili s projekcijskima urejevalnikoma tabel in diagramov, ter natančno preučili njuno uporabnost. Predstavili smo tudi način ustvarjanja in uporabe Standalone IDE. Praktični del naloge smo si zastavili kot načrtovanje in implementiranje ogordja podatkovne baze za kreiranje procedure SQL s pomočjo tabel ter kreiranje skripte SQL s pomočjo dinamičnega urejevalnika diagramov. Keywords: JetBrains, MPS, podatkovna baza, SQL, generator programske kode Published in DKUM: 12.07.2023; Views: 1267; Downloads: 73
Full text (2,95 MB) |
6. Avtomatizacija testiranja z malo ali nič programske kode : magistrsko deloVerica Zagoranski, 2023, master's thesis Abstract: V magistrskem delu se je raziskalo področje avtomatiziranega testiranja z malo ali nič
programske kode. Izveden je bil sistematični pregled literature, s katerim so bile
identificirane in raziskane dostopne dobre prakse avtomatiziranega testiranja z malo
ali nič programske kode ter orodja, ki to implementirajo in podpirajo. Z eksperimentom
in primerjalno metodo je bil ovrednoten pristop avtomatiziranega testiranja z malo ali
nič programske kode ter orodja. Empirični podatki, pridobljeni na osnovi eksperimenta,
nakazujejo, da je za funkcionalno testiranje smiselno uporabiti pristop avtomatizacije
testiranja z malo ali nič programske kode, pri čemer je treba izbrati ustrezno orodje, saj
raziskava kaže, da je količina pisanja programske kode odvisna tudi od izbranega
orodja. Keywords: testiranje programske opreme, kakovost programske opreme, avtomatizacija testiranja, testiranje z malo programske kode, testiranje z nič
programske kode Published in DKUM: 03.07.2023; Views: 514; Downloads: 94
Full text (1,63 MB) |
7. Aplikacije računalniških algoritmovBorut Žalik, 2023 Abstract: Učbenik Aplikacije računalniški algoritmov je namenjen študentom prve stopnje študijskega programa računalništvo in informacijske tehnologije s ciljem, spoznati algoritme, ki jih uporabniki pri svojem delu pogosto uporabljajo. Z implementacijo teh algoritmov bodo študentje pri prepotrebno rutino za za vstop v umetnost programiranja univerzalnega stroja, to je računalnika. Učbenik prinaša naslednje vsebine: urejanje podatkov v linearnem času, iskanje vzorcev v nizih, iskanje minimalne razdalje urejanja, preproste šifrirnike, metode brezizgubnega stiskanja podatkov, metode transformacije nizov, priponska polja in priponska drevesa ter algoritme v rastrskem prostoru (verižne kode in krivulje polnjenja prostora). Keywords: urejanje podatkov v linearnem času, iskanje vzorcev v nizih, iskanje minimalne razdalje urejanja, brezizgubno stiskanje podatkov, transformacije nizov, priponska polja in priponska drevesa, verižne kode, krivulje polnjenja prostora Published in DKUM: 21.06.2023; Views: 736; Downloads: 113
Full text (3,01 MB) This document has many files! More... |
8. Samodejno preverjanje kakovosti izvorne kode v sklopu neprekinjene dostave informacijskih rešitev : magistrsko deloMarko Gluhak, 2022, master's thesis Abstract: Preverjanje kakovosti informacijskih rešitev je doseglo širšo prepoznavnost med industrijo razvoja informacijskih rešitev. Tekom zaključnega dela smo opravili sistematičen pregled literature in študijo primera s prototipno vzpostavitvijo cevovoda neprekinjene dostave informacijskih rešitev z vključitvijo samodejnega preverjanja kakovosti izvorne kode. Izkaže se, da je vzpostavitev takšnega samodejnega preverjanje minimalnega nivoja kakovosti enostavna, predvsem v začetnih fazah razvoja. Glede na te ugotovitve smo zaključili, da je vključitev tega pristopa v industriji še premalo prepoznana in da so najbolj uspešni uporabniki tisti, ki ga ohranjajo enostavnega in učinkovitega, vendar vseeno prilagojenega specifikam tekočega projekta. Keywords: Minimalni nivo kakovosti, DevOps, CI/CD, statična analiza kode, SonarQube, GitHub Actions, GitLab CI/CD, zagotavljanje kakovosti Published in DKUM: 22.06.2022; Views: 941; Downloads: 214
Full text (4,68 MB) |
9. Vpliv na umetni inteligenci temelječih pomočnikov na pisanje izvorne kode : magistrsko deloLuka Četina, 2022, master's thesis Abstract: Z napredkom umetne inteligence (UI) postajajo pomočniki za dopolnjevanje kode vse bolj napredni in zmogljivi. V sklopu tega dela smo izvedli sistematičen pregled literature na UI temelječih pomočnikov za dopolnjevanje kode, jih opredelili, predstavili njihovo delovanje in trenutne trende, primerjali glavne funkcionalnosti posameznih pomočnikov ter izpostavili izboljšave, ki jih uporaba UI prinaša. Predstavili smo njihov doprinos k času razvoja ter kakovosti kode. Izvedli smo eksperiment za preverjanje uporabnosti konkretnega pomočnika (Tabnine) pri pisanju kode, uporabniško izkušnjo ter ali bi ga udeleženci priporočili tudi ostalim. Udeleženci so pomočnika ocenili kot zgolj zadovoljivo uporabnega, ocena uporabniške izkušnje je bila v povprečju nevtralna. Večina udeležencev bi pomočnika uporabljala tudi v prihodnje, najverjetneje pa ga ne bi posebej priporočili ostalim. Čeprav razlike zaradi majhnega vzorca niso bile signifikantne, so izkušeni v primerjavi z neizkušenimi pri programiranju, uporabi Jave in ogrodja SpringBoot, pomočnika ocenjevali bolj pozitivno, medtem ko so poznavalci pomočnikov le-tega ocenjevali manj pozitivno od nepoznavalcev. Keywords: umetna inteligenca, izvorna koda, dopolnjevanje kode Published in DKUM: 14.06.2022; Views: 883; Downloads: 179
Full text (1,60 MB) |
10. Analiza programske kode z orodjem sonarqubeGašper Bregar, 2021, undergraduate thesis Abstract: Raziskava obravnava testiranje programske opreme v procesu razvoja programske opreme s poudarkom na statičnem testiranju varnosti aplikacije. Predstavljene so najpogostejše ranljivosti spletnih aplikacij, ki so opisane v dokumentu OWASP Top 10. Prikazana je namestitev orodja za statično analizo programske kode SonarQube. S tem orodjem je analizirana zahtevna spletna aplikacija, portal, ki je namenjen dokumentiranju in izvajanju poslovnih procesov. Poročilo orodja smo natančno proučili in pripravili predloge za odpravo varnostnih ranljivosti ter napak. Keywords: testiranje programske kode, statična analiza, SonarQube, varnostne ranljivosti Published in DKUM: 11.11.2021; Views: 1202; Downloads: 37
Full text (2,54 MB) |