Developers use defect prediction models to efficiently allocate limited quality assurance resources and to plan software quality improvement activities. Traditionally, defect predictions are conducted at the module level. Recently, to overcome the problem of defect prediction at this level, researchers have been actively studying change-level defect prediction, which is known as just-in-time (JIT) defect prediction. When building JIT defect prediction models, researchers use a variety of change metrics that are known to correlate with the bugginess of the changes. Among the widely used change metrics are those that measure the experience of the developer who made the changes. However, these metrics have been found to have no significant impact on the JIT defect prediction models.
In this study, we hypothesized that the use of new developer experience metrics that reflect the characteristics of the projects could improve the performance of JIT defect prediction models and we defined such metrics that reflect the characteristics of the investigated projects. The analysis results of five open-source projects showed that the use of these metrics in JIT defect prediction models is a valid option. Moreover, significant improvements in the cost-effectiveness of these models were found when these metrics were incorporated into them according to the characteristics of the target project.
개발자들의 제한된 품질 관리 자원을 효율적으로 할당하고 소프트웨어 품질 향상 계획 수립을 위해 결함 예측 활동 모델들이 사용되고 있다. 전통적으로는 모듈 수준에서 결함 예측이 진행되어왔으나 최근에는 모듈 수준에서의 결함 예측의 문제점을 극복하고자 변경 사항 수준에서 결함 예측을 진행하는 방안이 활발하게 연구되고 있다. 변경 사항 수준에서의 결함 예측을 위해서는 변경 사항들의 결함 유발 여부와 관계가 있는 것으로 알려진 다양한 변경 사항 메트릭 들이 사용되어왔다. 널리 사용되고 있는 메트릭 중에는 변경 사항을 생성한 개발자의 경험을 측정하는 메트릭이 있으나, 해당 메트릭 들은 결함 예측 모델에 큰 영향을 끼치지 못하는 것으로 알려져 있다.
본 연구에서는 프로젝트들의 다양한 특징들을 반영한 신규 개발자 경험 메트릭을 사용함으로써 적시 결함 예측 모델의 성능을 향상할 수 있을 것이라는 가설을 세우고, 조사한 프로젝트들에서 발견된 개발자 경험 메트릭에 영향을 주는 특징들을 고려하여 신규 개발자 경험 메트릭 들을 정의하였다. 5개의 오픈 소스 프로젝트에서 분석을 진행한 결과 신규 개발자 경험 메트릭 들을 유효하게 적시 결함 예측에서 사용할 수 있으며, 프로젝트의 특징에 따라 신규 메트릭을 적시 결함 예측 모델에 도입할 경우 예측 모델의 비용 효율성이 향상됨을 확인하였다.