데이터 마이닝 기법을 적용한 소프트웨어 결함 심각도 분석
Software Defect Severity Analysis using Data Mining
초록/요약 도움말
소프트웨어가 점점 복잡해지고 고신뢰성을 요구함에 따라 소프트웨어 산업 현장에서는 높은 품질을 낮은 비용으로 유지할 수 있는 방법을 모색하고 있다. 이러한 산업 현장의 요구에 있어서 소프트웨어 결함 예측은 소프트웨어 품질을 향상시키는 매우 중요한 활동이고 프로젝트 성공과 실패에도 많은 영향을 주는 요소이다. 그런데 대부분의 소프트웨어 결함 예측에 관한 연구는 프로젝트에 영향을 미치는 정도가 결함 심각도에 따라 다름에도 불구하고 결함의 유무만을 고려하였고 많은 양의 기존 데이터 세트가 있어야만 적용할 수 있는 지도 학습 모델에 관한 연구였다. 그리고 결함 심각도에 기반한 소프트웨어 결함 예측에 관한 연구는 데이터 수집이 쉽지 않고 정확하게 분류할 수 있는 전문가를 찾기 어렵기 때문에 극소수에 불과하다. 이에 본 논문에서는 기존 연구 방법의 한계를 개선하기 위해 먼저 기존 연구에서 자주 사용되었던 소프트웨어 결함 모델의 기술, 특징 추출 방법, 성능 평가 방법에 대해 고찰하고 결함 심각도에 대한 내용을 정립함으로써 연구의 방향을 정하였다. 다음으로 이러한 내용을 토대로 결함 심각도에 기반한 모델을 제안하고 그것의 영향을 분석․평가하였다. 이 모델은 데이터 마이닝 기법을 적용하여 데이터 세트에 구애받지 않는 비지도 학습 모델로 결함 심각도 예측 정확도를 향상시켜 소프트웨어 품질을 개선하였다. 제안한 2가지 모델의 구체적인 연구 방법 및 결과는 다음과 같다. 첫 번째 FCM을 적용한 앙상블 모델은 소프트웨어 품질을 향상시키기 위해 NASA 데이터 세트의 결함 심각도를 재분류하고 데이터의 핵심 결함 속성을 추출하여 그룹화하였다. 그리고 앙상블의 정확도와 노드 불순도 측면에서 지니 지수를 이용해 결함 심각도에 영향을 미치는 속성을 비교하고 10-fold 교차 검증으로 평가하였다. 그 결과 FCM을 적용한 앙상블 모델은 기존 연구와는 달리 비지도 학습을 적용해 결함 심각도를 재분류했고 지니 지수를 최소화하는 노드 불순도 개선 실험을 통해 트리의 불확실성을 최소화하였다. 그리고 시스템에 가장 큰 영향을 미치는 결함 심각도 1인 Highest severity(Blocking)의 모듈 수가 감소함을 보였고 NASA 데이터 세트의 속성 중에 결함 심각도에 가장 많은 영향을 주는 속성은 BRANCH_COUNT임을 보였다. 이것은 트리의 불확실성을 최소화함으로써 소프트웨어 품질이 개선되었음을 입증하였다. 두 번째 CL 모델은 데이터 세트의 분포에 따른 제한점을 개선하기 위해 클러스터링 기법을 제안함으로써 훈련 데이터 세트 없이 결함을 분류하고 결함 예측 정확도를 비교하여 성능을 평가하였다. 그 결과 CL 모델은 전문가나 유사 프로젝트 없이도 속성에 따라 결함 심각도에 기반하여 자동으로 최적의 훈련 데이터 세트를 생성하였다. 그리고 이러한 훈련 데이터 세트로 결함 심각도를 분류한 결과는 결함 유무만으로 분류한 모델과 비교했을 때 분류 정확도 성능이 10%이상 향상되었다. 이것은 두 개의 모델을 비교함으로써 소프트웨어 결함 예측에 있어 결함 심각도를 고려하는 것이 더 효과적임을 입증하였다. 본 논문에서 2가지 모델의 연구를 통해 소프트웨어 결함 예측 연구에서 비지도 학습을 활용하여 결함 심각도에 기반한 데이터 세트의 분류가 소프트웨어 품질을 개선함을 보였고 데이터 마이닝 기법을 적용하여 전문가나 훈련 데이터 세트 없이 결함 심각도에 기반한 소프트웨어 결함 예측이 가능함을 보였다는 점에 그 의의가 있다.
more목차 도움말
제1장 서 론 1
제1절 연구 배경 및 목적 1
제2절 연구 내용 및 논문의 구성 3
제2장 소프트웨어 결함 모델 고찰 및 한계점 4
제1절 소프트웨어 결함 모델 고찰 4
1. 소프트웨어 결함 모델에 사용된 기술 4
2. 소프트웨어 결함 모델의 특징 추출 방법 18
3. 소프트웨어 결함 모델의 성능 평가 방법 21
제2절 결함 심각도 모델 연구 22
1. 결함 심각도의 정의 및 분류 22
2. 데이터 세트 24
제3장 연구 방법 및 절차 25
제1절 연구 모형 설계 25
제2절 데이터 수집 및 선정 27
제3절 연구 절차 31
제4절 연구 방법의 이론적 배경 33
1. 앙상블학습 33
2. FCM(Fuzzy C-mean) 클러스터링 37
3. CLAMI 방법 42
제4장 FCM 앙상블 모델의 결함 심각도 영향 분석 및 검증 48
제1절 FCM 앙상블 모델의 결함 심각도 분류 48
제2절 FCM 앙상블 모델의 결함 심각도 영향도 분석 결과 55
제5장 CL 모델의 결함 심각도 영향 분석 및 검증 68
제1절 CLAMI를 적용한 결함 심각도 분류 68
제2절 CL 모델의 결함 심각도 영향도 분석 결과 70
제6장 결 론 77
참 고 문 헌 79
Abstract 84

