๋ณธ ํ๋ก์ ํธ๋ ํ๋๋ํ๊ต ISEL ์ฐ๊ตฌ์ค์์ ์งํ๋ Detect Prediction Process(Based on Machine Learning)๋ก ๋จธ์ ๋ฌ๋์ ๊ธฐ๋ฐํ ๋ฒ๊ทธ ๊ฐ์ง ํ๋ก์ธ์ค ๊ฐ๋ฐ์ ์ฒซ ๋จ๊ณ ๋ถ๋ถ์ ๋๋ค. ์ฌ๊ธฐ์ ์ ํฌ ํ์ด ์งํํ ๋ถ๋ถ์ ์ ์ผ ์ฒซ ๋จ๊ณ์ธ โData Collectionโ๋จ๊ณ์์ ์ ํํ Bug-Introducing Change(์ดํ BIC)๋ฅผ ์ฐพ์๋ด๋ ๊ฒ์ ๋๋ค. BIC๋ฅผ ์ฐพ์๋ด๋ SZZ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฌ๊น์ง ์ฌ๋ฌ ๋ฒ์ ์ ์ํด ๊ฐ์ ๋์์ผ๋, ์ฌ์ ํ ์๋ฒฝํ BIC๋ฅผ ์ถ์ถํด๋ด์ง ๋ชปํ๋ฉฐ ๋ง์ noise ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ด false positive์ ํ๋ฅ ์ด ๋์ต๋๋ค. ๊ธฐ์กด์ SZZ ์๊ณ ๋ฆฌ์ฆ๋ณด๋ค ์ฑ๋ฅ์ 12% ํฅ์์์ผฐ์ต๋๋ค. ํจ๊ป ์๊ฐ์ ๋ง์ถฐ ๋๋ถ๋ถ์ ๊ฐ๋ฐ์ ํ์ด ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ์งํํ์์ต๋๋ค.
๋ณด๊ณ ์ | https://drive.google.com/file/d/1a-GYWt4hBtty4ISr81Ytln4fbgtINAFF/view
์์ฐ์์ | https://www.youtube.com/watch?v=uhfgHhnY4XM
ํ๋๋ํ๊ต | ์บก์คํค ๋์์ธ ๊ฒฝ์ง๋ํ '๊ณตํํ๋ก์ ํธ ๊ธฐํ'๋ถ๋ฌธ ์ฐ์์
2019.08 - 2020.08(12๊ฐ์)
-
๊น์์ง (ํ์ฅ)
-
์ค๊ณ
-
Tracer ๊ตฌํ
-
-
์ค์ง์ (ํ์)
- ์ค๊ณ
- Build Annotation Graph
โ ํ๋๋ํ๊ต ISEL ์ฐ๊ตฌ์ค์์๋ Bug Prediction Model์ ์ฐ๊ตฌ ์ค์ ์๋ค. ์ด ๋ชจ๋ธ์ ๋จธ์ ๋ฌ๋ ๊ธฐ์ ์ ์ด์ฉํด์ commit์ด buggyํ์ง cleanํ์ง๋ฅผ ๋ํ๋ด์ฃผ๋ ๊ธฐ์ ์ธ๋ฐ, ์ด๋Data๋ฅผ Collectionํ๋ ๋ถ๋ถ(๋นจ๊ฐ ๋ค๋ชจ๋ฐ์ค) ์์ BIC๊ฐ ์ฌ์ฉ๋๋ค.
โ ๊ทธ๋ฌ๋ ์ด๋ ์ฌ์ฉ๋ BIC๋ ๋ณธ ๋ณด๊ณ ์์์๋ ์ฌ๋ฌ ๋ฒ ์ธ๊ธ๋์๋ B-SZZ๋ฅผ ํตํด ์ฐพ์ BIC์ด๋ค. B-SZZ๋ ๋์ false positive ๋น์จ์ ๊ฐ๊ณ ์๊ณ , ํ์ฌ ๋ ๋ฐ์ ๋์ด์จ SZZ ์๊ณ ๋ฆฌ์ฆ์ ์ฐ๊ตฌํ์ฌ ์ ์ฉํ๊ธฐ ์ํด ๋ณธ ์ฐ๊ตฌ๊ฐ ์์๋์๋ค. Data๋ฅผ collectionํ๋ ๋ถ๋ถ์ core๋ผ๊ณ ํด๋ ๋ ๋งํผ ์ค์ํ ๋ถ๋ถ์ด๋ผ ์๊ฐํ๋ค. ์๋ชป๋ data๊ฐ input๋๋ฉด ์ฐ๊ตฌ์ ์ ๋ฐ์ ์ธ ๊ฒฐ๊ณผ์๋ ์ํฅ์ด ํฌ๊ธฐ ๋๋ฌธ์ด๋ค.
โ ๋ฟ๋ง ์๋๋ผ ์ํํธ์จ์ด์์ testing์ ๋ํ ์ถ์ธ๊ฐ ์ปค์ง์ ๋ฐ๋ผ ๋ฒ๊ทธ๋ฅผ ์์ธกํ๊ณ ์๋ฐฉํ๋ ๊ฒ์ ๋ํ ์ค์๋๊ฐ ์ปค์ง๊ณ ์๋ค. ์ค์ ํ๊ตญ์์๋ ์ ์ฉ ์ฌ๋ก๊ฐ ์กด์ฌํ๋ค. KCSE2020 ํํ์ ์ฐธ๊ฐํ์ ๋ โ์ํํธ์จ์ด ๊ฒฐํจ ์์ธก์ ์กฐ์ ํด์/ํด์์ด์ก ์ฐ์
์ ์ฉ ์ฌ๋ก ์ฐ๊ตฌโ์ ๋ํด ๋ค์ ์ ์ด ์๋ค. ์ด๋๋ SZZ ์๊ณ ๋ฆฌ์ฆ์ด ์ฌ์ฉ๋๋ค๋ ๊ฒ์ ์๊ฒ ๋์๊ณ , ์์ผ๋ก์ ๋ค์ํ ๋ถ์ผ์์๋ SZZ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉ๋ ์ ์๋ค๊ณ ์๊ฐํ๋ค. ์์ง ํ๋ฐํ๊ฒ ์ฌ์ฉ๋๋ ๊ฒ์ ์๋์ง๋ง ์์ผ๋ก ์ํํธ์จ์ด ๊ณตํ์ ๋ฐฉํฅ์ ๋ณด์์ ๋ ํนํ testing๋ถ์ผ๋ ๊ฒฐํจ ์์ธก ๋ถ๋ถ์์ ๋ง์ด ์ฌ์ฉ๋ ๊ฒ์ด๊ณ , ์ฐ๋ฆฌ์ ์ฐ๊ตฌ๋ฅผ ํตํด ๊ฐ์ ๋ SZZ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก false positive ๋น์จ์ด ์ค์ด๋ค์ด ๋์ฑ ์ ํํ ์ฐ๊ตฌ์ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ ์ ์๋ค๊ณ ์๊ฐํ๋ค.
(written by ์ค์ง์)