검색 상세

형상관리 시스템을 활용한 웹 소프트웨어 결함 예측 모형에 관한 연구

A Study of Web Software Defect Prediction Models using Software Configuration Management System

초록/요약

소프트웨어의 신뢰도 향상을 위해서는 소프트웨어의 결함을 가장 빠른 시간 내에 발견하고 수정하여야 한다. 또한 결함을 빨리 식별 할수록 적은 비용으로 소프트웨어의 위험요소를 줄일 수 있다. 이를 위해 결함가능성에 대한 예측을 시스템화하여 자동으로 분류하는 것은 직접적으로 프로젝트의 예산 절감 효과를 볼 수 있는 중요한 일이라 할 수 있다. 본 연구에서는 형상관리 시스템을 활용하여 예측 모형을 위한 훈련용 데이터를 추출하고, 일반적인 소프트웨어의 메트릭들을 통해서 웹 소프트웨어의 상대적인 결함가능성을 예측하는 모형을 제안하였다. 형상관리 시스템으로 추출한 데이터는 그 프로젝트의 전체적인 소스의 변화를 나타내고 있으므로 타 프로젝트에서 훈련용 데이터를 얻는 것보다 신뢰도가 높다고 할 수 있다. 본 연구에서는 이미 통계적으로 예측률이 높다고 알려져 있는 기계학습 방법인 지지벡터기계(Support Vector Machine)과 인공신경망(Artificial Neural Network) 그리고 의사결정나무(Decision Tree), 순수 베이지안(Naive Bayes)과 각각의 분류기들을 종합하여 예측치를 판단하는 앙상블 기법을 이용하여 소프트웨어의 결함 가능성을 예측하는 모형을 비교하였다. 지지벡터기계의 경우 커널함수의 최적 해를 찾기 위해 격자탐색기법을 활용하였으며 각 모형별 데이터의 검증을 위해서 5겹 교차검증으로 타당성을 입증하였다. 제안된 방법으로 결함가능성을 예측한 결과 최대 75.6%의 예측성과를 보였다.

more

초록/요약

In order to improve software reliability, it is necessary to detect and fix its defects as soon as possible. In addition, it is possible to reduce the risk factors of software at little cost if the defects are identified within a short time. To this end, systemizing the forecast for chance of defects and classifying them automatically will be crucial in that these can lead to the direct effects of curtailing the budgets of projects. In thesis extracted training data for forecast models by using Software Configuration Management System and suggested a model that could predict relative chance of defects found in web software through general Software Metric. The data extracted through Software Configuration Management System represented the changes in the entire sources of the given project; thus, its reliability would be higher than the training data obtained from other projects. In thesis used the machine learning methods well-known for high statistic prediction rate such as Support Vector Machine, Artificial Neural Network, Decision Tree, Naive Bayes and each of these classifiers, and compared the models that could forecast change of defects in software, by using Combining Learners for judging prediction values. Grid Search was applied to find out the optimum solution of Kernel Function in case of Support Vector Machine, whereas 5 fold cross-validation was used for the verification of data by each model. After forecasting chance of defects through the suggested methods, the study obtained the maximum prediction outcome of 75.6%.

more