Predviđanje defekata u softveru primenom modela mašinskog učenja optimizovanih metaheuristikama : doktorska disertacija
Cvetanović, Miloš, 1978-
Drašković, Dražen, 1985-
Pamučar, Dragan, 1978-
Nikolić, Boško D., 1972-
Software testing is a pivotal aspect of software development, often determining thesuccess or failure of projects. However, amidst contemporary projects’ rapid pace andstringent deadlines, testing is frequently overlooked or insufficiently detailed due to timeconstraints. This negligence can result in potential repercussions such as damage toreputation, compromise of user data, financial loss, and in extreme cases, even humancasualties. In such scenarios, the ability to anticipate software modules prone to defectsbased on software metrics becomes crucial, constituting a typical classification task.Machine learning models, renowned for their efficacy in addressing classification problems,offer a promising avenue for predicting software defects. In this dissertation, theutilization of the Extreme Gradient Boosting (XGBoost) model is advocated for thispurpose. A modified iteration of the Reptile Search Algorithm (RSA), termed HARSA,is proposed for optimizing the hyperparameters of the XGBoost model. The efficacy ofthis enhanced algorithm is demonstrated through its exceptional performance on a suiteof challenging benchmark functions from CEC2019. Subsequently, an XGBoost modelemploying HARSA is assessed on two software testing benchmark datasets, showcasingsuperior classification accuracy compared to other metaheuristic algorithms within thesame experimental framework.Furthermore, Shapley Additive Explanations (SHAP) analysis is conducted to elucidatethe impact of various software metrics on classification outcomes. Lastly, the educationalimplications of this solution are explored, contemplating its integration into softwaretesting courses. A practical example of a laboratory exercise illustrates the process ofdeveloping a predictive model for software defects to students, fostering a deeper understandingof the subject matter.
Testiranje softvera predstavlja kljucnu komponentu razvoja softvera i cesto je onošto pravi razliku izmeu uspešnih i neuspešnih projekata. Iako je izuzetno važno, zbogbrzog tempa i kratkih rokova savremenih projekata, cesto se zanemaruje ili nije dovoljnodetaljno zbog nedostatka vremena, što može dovesti do potencijalnog gubitka reputacije,podataka privatnih korisnika, novca, pa cak i ljudskih života u nekim situacijama. Utakvim situacijama bilo bi od vitalnog znacaja imati mogucnost predvianja koji softverskimoduli su skloni defektima na osnovu skupa metrika softvera i fokusirati testiranje na njih,što je tipican zadatak klasifikacije.Modeli mašinskog ucenja cesto su uspešno korišceni za razlicite probleme klasifikacije,a u ovom radu se predlaže korišcenje Extreme Gradient Boosting (XGBoost) modela zaizvršenje zadatka predvianja softverskih defekata. Predložena je modifikovana varijantadobro poznatog algoritma za optimizaciju, nazvanog algoritam pretrage reptila (engl.reptile search algorithm, skr. RSA), kako bi se izvršilo fino podešavanje hiperparametaraXGBoost modela. Unapreeni algoritam nazvan je HARSA i evaluiran na kolekciji izazovnihfunkcija CEC2019 za uporednu analizu (engl. benchmark), gde je pokazao izuzetneperformanse. Kasnije je predstavljen XGBoost model koji koristi predloženi algoritam, ievaluiran je na dva skupa podataka za uporednu analizu za testiranje softvera. Rezultatisimulacije su uporeeni sa drugim mocnim metaheuristickim algoritmima koji su korišceniu istom eksperimentalnom okruženju, pri cemu je predloženi pristup postigao superiornutacnost klasifikacije na oba skupa podataka. Nakon toga je izvedena SHAP (engl. ShapleyAdditive Explanations) analiza kako bi se otkrili uticaji razlicitih metrika softvera na rezultateklasifikacije. Na kraju, razmotrena je i primena ovog rešenja u nastavi, uz osvrtna druga edukaciona okruženja koja se koriste u nastavi iz oblasti testiranja softvera, i uzkonkretan primer laboratorijske vežbe koja studentima ilustruje proces razvoja modelaza predvianje softverskih defekata.
Elektrotehnika i racunarstvo - Racunarska tehnika i informatika / Electrical and Computer Engineering - Computer Science and Informatics Datum odbrane: 30.09.2024.
srpski
2024
Ovo delo je licencirano pod uslovima licence
Creative Commons CC BY-NC-SA 3.0 AT - Creative Commons Autorstvo - Nekomercijalno - Deliti pod istim uslovima 3.0 Austria License.
http://creativecommons.org/licenses/by-nc-sa/3.0/at/legalcode
OSNO - Opšta sistematizacija naučnih oblasti, Veštačka inteligencija. Robotika
testiranje softvera, predvianje softverskih defekata, XGBoost, reptile algoritam za pretragu, optimizacija metaheuristikama
OSNO - Opšta sistematizacija naučnih oblasti, Veštačka inteligencija. Robotika
software testing, software defect prediction, XGBoost, Reptile search algorithm, metaheuristics optimization