Software is playing the most important role in recent industrial innovation, and consequently the amount of software has been rapidly growing last decades. For instance, safety-critical nature of vehicles makes software quality assurance (SQA) has become an essential prerequisite for such innovation. Just-in-time software defect prediction (JIT-SDP) is a special defect prediction method, which aims to conduct software defect prediction (SDP) on commit-level code changes for effective SQA resource allocation. JIT-SDP has advantages of fine granularity, automatic extraction, early application, and traceability. Recent research shows that JIT-SDP prediction model has still rooms for performance improvement since the hyperparameters of the machine learning model are not optimized yet according to characteristics of projects. Search-based software engineering is an approach to solve the problem as search problem formulated by search space and fitness function, e.g., Harmony Search (HS) is a widely used music-inspired meta-heuristic optimization algorithm. In this article, we propose search-based parameter optimization framework on JIT-SDP and demonstrate that our approach can produce the better performance of prediction and reduce effort in practice. Using 8 datasets from both industrial and open source software projects, we obtained an optimized model that meets the performance criterion beyond baseline of previous studies throughout various defect to non-defect class imbalance ratio of datasets. Experiments with open source software also showed better recall for all datasets despite we considered balance as performance index. Search-based parameter optimized JIT-SDP can be applied to the industrial domain software with high class imbalance ratio. We expect that our research can improve the performance of JIT-SDP even in both industrial software and open source software projects with different data characteristics. In addition, the cost-benefit analysis results showed that 20% effort enables the detection of 56% of defects on average and that the post-release quality cost can be reduced by 37.3% in practice. Finally, we also expect that our research can help reduce review effort and post-release quality costs.
소프트웨어는 최근 산업 전반의 혁신에서 가장 중요한 역할을 하고 있으며 그 결과 지난 수십년 동안 소프트웨어의 양이 빠르게 증가하고 있습니다. 예를 들어, 특히 안전이 중요한 운송 수단에서는 소프트웨어 품질 보증 (SQA)이 혁신에 있어 필수적으로 전제 조건이 되어야 합니다. Just-In-Time Software Defect Prediction (JIT-SDP)는 효과적인 SQA 리소스 할당을 위해 코드 변경 시 커밋 수준에서 소프트웨어 결함 예측 (SDP)을 수행하는 것을 목표로 하는 결함 예측 방법입니다. JIT-SDP는 세분화, 자동 추출, 빠른 적용 및 추적성 등에 장점이 있습니다. 최근 연구에 따르면 JIT-SDP 예측 모델은 기계학습 시 프로젝트 특성을 반영할 수 있는 하이퍼파라미터 최적화가 이루어지지 않고 있어 여전히 예측 성능 향상의 여지가 있습니다. 결함의 미검출 후 배포 시에 큰 품질 비용을 지불해야 하므로 성능 향상은 매우 중요합니다. 본 연구에서 JIT-SDP의 검색 기반 매개 변수 최적화 프레임워크를 제안하여 더 나은 예측 성능을 보이고 실제에서 품질 비용 절감에 기여하고자 합니다. 실험에서 산업 및 오픈소스 소프트웨어 프로젝트의 8 개 데이터 세트를 사용하여 데이터세트의 다양한 결함 대 결함 클래스 불균형 비율 전반에 걸쳐 이전 연구의 기준을 넘는 성능을 충족하는 최적화된 모델을 얻었습니다. 오픈소스 소프트웨어를 사용한 실험은 밸런스를 성능 지표로 간주 했음에도 불구하고 모든 데이터세트에 대해 더 나은 재현율을 보여주었습니다. 우리의 연구는 데이터 특성이 다른 산업용 소프트웨어와 오픈 소스 소프트웨어 프로젝트 모두에서 JIT-SDP의 성능을 향상시킬 수 있을 것으로 기대합니다. 또한 비용 편익 분석 결과 20%의 노력으로 평균 56%의 결함을 탐지할 수 있으며 출시 후 품질 비용을 실제로 37.3% 절감할 수 있는 것으로 나타났습니다. 마지막으로, 우리의 연구가 검토 노력과 출시 후 품질 비용을 줄이는 데 도움이 될 것으로 기대합니다.