소프트웨어는 수 많은 사람들이 사용하고 있으며, 다양한 분야로도 활용된다. 활용되는 분야로는 정부 부처들의 웹 서비스, 교통 수단인 KTX 또는 SRT 같은 고속열차 차량, 의료분야, 물류관리시스템 및 모바일 등에서 사용된다. 이와 같이 다양한 분야에 소프트웨어의 활용도가 높아지면서, 소프트웨어 사용자 및 소프트웨어의 복잡도도 증가하였고, 이에 따라 많은 요구사항 및 어려움 등이 발생한다. 이러한 이유로 소프트웨어의 신뢰성에 대한 관심과 연구의 중요성이 상당히 높아졌다. 소프트웨어의 신뢰성에 관한 기존 연구들은 수학적인 분석 모델을 이용하는 방법을 통해서 이뤄졌으며, 이에 본 연구는 기존 수학적인 분석 모형이 아닌 빅데이터 분석 기법을 기용하여 소프트웨어 결함 검출 예측 모형을 만들고자 한다. 소프트웨어 결함 검출 예측 모형을 만들기 위해 우선, 결측치 처리와 최소-최대 정규화를 수행하고, 목표 변수인 FAULT를 6~9 고정 크기 그룹으로 그룹화하였다. 그 다음으로 적은 데이터의 수와 데이터의 불균형 문제를 완화하기 위해 CBO(Cluster Based Oversampling)와 무작위 오버샘플링을 수행하였으며, 변수 선택을 위해 높은 상관관계가 가진 PROC, COMPLEX 및 LINE 변수를 가지고 8 가지의 변수 유형으로 조합하였다. 이를 바탕으로 두개의 오버샘플링 데이터 셋과 8가지 변수 유형 그리고 결함 그룹을 이용하여 소프트웨어 결함이 어떤 결함 그룹에 속할지 예측하는 모형을 생성하였다. 소프트웨어 결함 검출 예측 모형을 만들기 위해 사용한 빅데이터 분석기법으로는 Naive Bayes, Decision Tree, Random Forest 및 Gradient Boosting Tree를 이용하여 분석하였고, 모형을 평가하기 위해 혼동행렬(Confusion Matrix)을 사용하여 평가하였다. 가장 높은 성능의 결과는 Accuracy = 96.30%, 평균Recall = 96.30%, Precision = 96.70% 이며, 무작위 오버샘플링을 사용하고, 모든 변수를 선택하여 만든 결함 6 그룹의 Gradient Boosting Tree이였다.
Software is used by many people, and it is used in various fields. Areas of use include web services from government ministries, high-speed train vehicles such as KTX or SRT, transportation, medical services, logistics management systems, and mobile. As the use of software in various fields increases, the complexity of software users and software also increases, and thus, many requirements and difficulties arise. For this reason, interest in software reliability and the importance of research have increased considerably. Previous research on software reliability has been done through a mathematical analysis model. In this paper, we propose a software fault detection prediction model using big data analysis technique instead of existing mathematical analysis model. In order to construct a software fault detection prediction model, the missing value processing and the minimum - maximum normalization are performed, and the target variable FAULT is grouped into 6 to 9 fixed size groups. Next, CBO (Cluster Based Oversampling) and random oversampling were performed to mitigate the number of data and data unbalance, and with the PROC, COMPLEX and LINE variables with high correlation for variable selection, Variable type. Based on this, we created a model that predicts which defect group will belong to the defects by using two oversampling datasets, 8 variable types, and defect groups. We used Naive Bayes, Decision Tree, Random Forest, and Gradient Boosting Tree to analyze the big data analysis method used to create software defect detection prediction model. We used Confusion Matrix to evaluate the model. The highest performance results were the Gradient Boosting Tree of the Defect 6 group which was created by using random oversampling and selecting all variables, with Accuracy = 96.30%, Average Recall = 96.30% and Precision = 96.70%.