Szoftver commit-ok kockázatának előrejelzése gépi tanulás segítségével
2019-2020/I.
Dr. Horváth Gábor
Horváth Gábor
Ma már minden szoftverfejlesztéssel foglalkozó cég használ valamilyen verziókövető rendszert, melybe a fejlesztők „commit”-ok formájában töltik fel az aktuális módosításaikat. Azonban a commit-ok egy része sajnos hibát tartalmaz, a hiba felismerése, felderítése és kijavítása pedig időt és emberi erőforrást igényel. Éppen ezért előnyös lenne már a commit beküldése pillanatában analizálni és értékelni a kódot, megbecsülni, hogy az mekkora eséllyel helyes. Amennyiben a commit besorolása „magas kockázatú”, akkor azt csak kiegészítő felülvizsgálat után lehet beengedni a forrásfába. A szakdolgozat feladat célja ennek a rendszernek a kifejlesztése.
A hallgató feladatának a következőkre kell kiterjednie:
- Ismerje meg és tekintse át a „git” és a „jira” rendszereket, és mutasson példát a két rendszer együttes használatára egy open source projekt működésén keresztül!
- Ismerje meg és mutassa be a commit-ok címkézésére szolgáló SZZ algoritmust!
- Az SZZ algoritmus egyik problémája, hogy nem képes kezelni a kód hozzáadásával keletkező bug-okat. Adjon javaslatot ennek megoldására!
- Nyerjen ki gépi tanuláshoz szükséges feature-öket a „git” és „jira” adatbázisból!
- Egészítse ki a feature készletet szöveges feature-ök hozzáadásával!
- Ismertessen egy gépi tanuló algoritmust, és használja fel commit-ok kockázatának becslésére!
1
1