Fond za nauku Republike Srbije i National Geographic predstavljaju vam najuspešnijie mlade srpske naučnike i njihove projekte iz oblasti veštačke inteligencije.
U okviru Programa za razvoj projekata iz oblasti veštačke inteligencije finansira Fond za nauku, među 12 najbiljih, našao se i projekat dr Jelene Slivke, docentkinje na Fakultetu tehničkih nauka univerziteta u Novom Sadu.
Njen projekat pod nazivom Edukativni alat za podršku pisanja dobro dizajniranog koda/ Clean Code and Design Educational Tool, bio je i deo izložbe koja je bila organizovana na Kalemegdanu tokom oktobra 2020. godine. Ovaj projekat će se realizovati u naredne dve godine.
Šta je Clean CaDET?
U današnjem svetu se generiše sve veća količina programskog koda. Na žalost, time se povećava i količina koda neodgovarajućeg kvaliteta. Istraživači sa Fakulteta tehničkih nauka razvijaće automatizovane alate koji će primenom veštačke inteligencije prepoznavati takav neodgovarajući kod i predlagati bolje verzije. Na taj način smanjiće se troškovi za softverske kompanije i povećati kvalitet softverskih rešenja.
Softver prožima današnju globalnu civilizaciju i prisutan je u mnogobrojnim aspektima našeg života. Njegova potražnja raste svakog dana i softverski proizvođači su pod pritiskom da brzo razviju nova rešenja. U ovoj trci mnogi proizvođači zanemaruju kvalitet softvera, praveći rešenja koja su podložna greškama i čiji dalji razvoj i unapređenje postaju progresivno skuplji. Dodatno, zbog sve većeg broja novih programera, procene su da u svakom momentu pola inženjera ima manje od pet godina radnog iskustva. Pošto se sposobnost proizvodnje kvalitetnog softverska stiče kroz više godina aktivnog rada na razvoju ove veštine, problem proizvodnje nekvalitetnog softvera je uveličan. Generalni problem koji Clean CaDET projekat razmatra jeste omogućavanje jeftinijeg razvoja kvalitetnog softvera. Ovaj problem razlažemo na problem automatske detekcije nekvalitetnog softverskog koda i pružanja personalizovanih edukativnih materijala programeru kako bi razumeo problem i formirao adekvatno rešenje.
Članice projektnog tima Clean CADET; Foto: Privatna arhiva
Problemu automatske detekcije problematičnih delova koda planiraju da pristupe kombinovanjem tehnika mašinskog učenja sa pravilima razvijenim od strane domenskih stručnjaka (rule-based system). U istraživanju upotrebiće različite tehnike mašinskog učenja. Prvo, planiraju da primenimo tehnike koje kombinuju više različitih izvora informacija: tehnike zasnovane na ansamblu modela (Ensemble Learning) i učenje na osnovu više pogleda (Multi-View Learning). Takođe, planiraju da isprobaju modele zasnovane na neuronskim mrežama (Neural Networks) i dubokom učenju (Deep Learning). Konačno, da bi olakšali problem nedostatka anotiranih podataka za obuku modela, planiraju da primene tehnike polu-nadgledanog učenja (Semi-Supervised Learning). Za personalizovanu preporuku edukativnih materijala programeru, planiraju da implementiraju sistem za preporuku (Recommender System). Sistem za preporuku će biti hibridni sistem zasnovan na kombinaciji sistema za preporuku zasnovanog na znanju (Knowledge-Based) i kolaborativnog filtriranja (Collaborative Filtering).
Očekivani rezultat projekta je razvoj digitalnog asistenta koji će pomagati programerima da proizvode kvalitetniji softver. Digitalni asistent će obuhvatiti algoritme veštačke inteligencije za detekciju nekvalitetnog koda koje će se primenjivati dok inženjer programira. Asistent će ukazivati na probleme i preporučiti prikladan edukativan sadržaj spram svog poznavanja konkretnog programera. Na ovaj način će pomoći programeru da razume identifikovan problem, njegove posledice i način rešavanja.
U timu se nalaze stručnjaci iz dva različita domena: veštačke inteligencije i softverskog inženjerstva. Jelena Slivka, Aleksandar Kovačević i Dragan Vidaković se bave istraživanjem u oblastima istraživanja podataka i mašinskog učenja. Jelenin fokus je bio na problemima polu-nadgledanog učenja i učenja na osnovu više pogleda. Aleksandar je ekspert u oblasti razumevanja prirodnog jezika i analize teksta. Dragan poseduje značajno iskustvo u praktičnoj primeni mašinskog učenja, istraživanja podataka i tehnika dubokog učenja na industrijske probleme. Nikola Luburić i Goran Sladić se bave istraživanjem u oblasti softverskog inženjerstva. Nikola se u svojim istraživanjima fokusirao na razvoj i primenu pedagoških metoda za efektivan prenos znanja u oblasti softverskog inženjerstva. Goran je na mestu šefa katedre, kroz saradnju sa industrijom i kroz vođstvo i učešće na više istraživačkih projekata stekao iskustvo u menadžmentu tima. Katarina-Glorija Grujić i Simona Prokić su mladi istraživači koji teže da razviju svoju ekspertizu i doktoriraju na ovom problemu praktične primene veštačke inteligencije na softversko inženjerstvo.
Novinu predstavlja interdisciplinarni spoj oblasti veštačke inteligencije i softverskog inženjerstva. Deo istraživačkog tima koji se bavi veštačkom inteligencijom do sada nije imao prilike da se bavi problemom analize programskog koda i raduje se tesnoj saradnji sa domenskim stručnjacima koji će usmeravati i inspirisati njihovo istraživanje. Sa druge strane, deo istraživačkog tima koji se bavi oblašću softverskog inženjerstva nije imao dodira sa tehnikama veštačke inteligencije i entuzijastičan je povodom njenih mogućnosti da olakša rad programera i unapred razvoj stručnjaka iz ove oblasti. Tim poseduje dugogodišnje iskustvo u radu sa studentima. Susrećemo se sa problemom rada u velikim studentskim grupama gde je teško prilagoditi prenos znanja potrebama pojedinačnog studenta. Novina za nas je razvoj edukativnog alata koji će olakšati ovaj problem, što uključuje istraživanje efikasnog prenosa znanja bez direktnog kontakta sa studentom.
Članice projektnog tima Clean CADET; Foto: Privatna arhiva
Clean CaDET digitalni asistent će pomoći programerima u obuci i industriji širom sveta da identifikuju probleme u svom kodu i unaprede svoju veštinu. Kroz projekat ćemo integrisati značajnu količinu edukativnih materijala na srpskom jeziku u naše rešenje, što će koristiti softverskim firmama i univerzitetima na teritorije Srbije. Koordinisaćemo zajednicu oko otvorenog koda projekta kako bismo uveli nove funkcionalnosti, algoritme i edukativan sadržaj čime će vrednost digitalnog asistenta nastaviti da raste i nakon završetka projekta.
Projekat ima naučnu perspektivu od značaja na svetskom nivou. Kroz projekat ćemo unaprediti postojeće algoritme za detekciju nekvalitetnog programskog koda. Takođe ćemo proizvesti sistem za preporuku edukativnih materijala koji edukuje softverske inženjere prilagođavajući se njihovim ličnim potrebama i sklonostima. Naša rešenja će inspirisati druge istraživače da rade na ovom problemu i kroz razvijenu platformu im omogućiti lako eksperimentisanje sa novim rešenjima. Automatizacijom procesa obrazovanja će olakšati problem nedostatka dovoljnog broja stručnjaka koji mogu da pomognu mladim programerima u sticanju ekspertize. Takođe, upotrebom alata stećiće se uvid u najbolje prakse učenja na daljinu, što će olakšati probleme obrazovanja ako se u budućnosti suočimo sa globalnom krizom poput današnje. Najzad, kroz rad na projektu će se unaprediti ekspertiza zaduženog istraživačkog tima iz domena veštačke inteligencije i softverskog inženjerstva. Ova ekspertiza će se distribuirati na teritoriju Srbije i šire, kako tokom projekta tako i nakon njega.
Možda će vas zanimati i: