Poboljšanje postupaka za predviđanje programskih neispravnosti zasnovano na strojnom učenju : doktorski rad - Mauša, Goran; Dalbelo Bašić, Bojana; Galinac Grbac, Tihana (Zagreb : G. Mauša ; Fakultet elektrotehnike i računarstva, 2016)
SAŽETAK: Povećanje složenosti programskih sustava uzrokuje povećanje opsega verifikacijskog djelovanja, a time i troškova razvoja. Programske neispravnosti nejednoliko su raspoređene po programskim sustavima i to na način da se u manjem postotku programa nalazi veći postotak neispravnosti. Ova se disertacija bavi predviđanjem dijelova sustava sa programskim neispravnostima s ciljem pametnog usmjeravanja verifikacijskih strategija. Postupci prikupljanja podataka za potrebe predviđanja programskih neispravnosti nisu u potpunosti normirani i osnovni su uzrok nemogućnosti poopćenja primjene metoda predviđanja. Ostvareni doprinosi su pri tome postupak za prikupljanje podataka utemeljen na industrijskim normama te algoritam za prikupljanje podataka zasnovan na statičkim metrikama programskog koda, s ciljem povećanja prikladnosti podataka za primjenu metoda predviđanja programskih neispravnosti. Drugi problem kojem se posvećuje rad je neujednačenost skupova podataka, što je inherentno svojstvo u ovoj domeni. Ostvareni doprinosi su pri tome metode za utvrđivanje granične razine neujednačenosti za metode strojnog učenja te postupka za odabir prikladnog modela predviđanja programskih neispravnosti na neujednačenim skupovima podataka. Pomoću predloženih postupaka moguće je unaprijed bolje procijeniti neispravne dijelove programskog sustava i time poboljšati verifikacijsku i razvojnu strategiju programskih sustava te unaprijediti planiranje budućih ulaganja u razvoj složenih programskih sustava u evoluciji. - KLJUČNE RIJEČI: predviđanje programskih neispravnosti, prikupljanje podataka, neujednačeni skupovi podataka, strojno učenje
ABSTRACT: The increasing complexity of software systems is extending the verification activities and increasing the development cost. Software defects are unequally distributed within the software system. The majority of defects is situated in the smaller part of the system. This doctoral thesis is investigating the software defect prediction that aims to improve the allocation of verification resources. The software defect prediction data collection procedure is not entirely standardized and this is the major cause of inconsistencies and research bias. The contributions of this thesis are a systematically defined data collection procedure that is based on existing industrial norms and the data collection algorithm based on static code attributes, which aim to enhance the appropriateness of data for software defect prediction. The second problem that is covered in this thesis is the data imbalance problem, an inherent feature in this domain. The contributions of this thesis are a method for establishing the critical level of data imbalance for machine learning algorithms and a method for choosing the most appropriate predictive model with respect to the present level of data imbalance. The proposed procedures enable us to better predict the defective software modules and to improve the verification and the development strategies of complex software systems and to improve the investment planning of the evolving systems. - KEYWORDS: software defect prediction, data collection, data imbalance, machine learning
Na spor. nasl. str. naslov na eng. jeziku: Improvement of software defect prediction methods using machine learning : doctoral thesis
Bibliografija str. 139-156.
Keywords: predviđanje programskih neispravnosti -- software defect prediction; prikupljanje podataka -- data collection; neujednačeni skupovi podataka -- data imbalance; strojno učenje -- machine learning