To control software product quality, managers need accurate and timely feedback on the quality of the software product being developed. Inspection is one of the most effective means to detect defects early on and estimate the quality of the final product. Especially, in some quality critical cases, software documents or systems should be re-inspected to identify defects that have been missed during the initial inspection. The criteria for making the reinspection decisions are: $\it{the quality of the document and the quality of the inspection.}$
Most organizations have not institutionalized reinspection as a technique for ensuring the quality of the document and the inspection process. Most use historical experiences or follow a rule of thumb to determine whether to perform a reinspection [5].
The motivation of defect estimation models is 'providing better means for making the reinspection decision'. Two major, distinct defect estimate approaches are introduced: $\it{Objective models}$ based on refined team defect data, and $\it{subjective individual estimates}$, which are accessible during inspection with little extra effort.
Subjective models can be easily integrated into existing inspection processes without extra effort to collect data or changing inspection process, while objective models require collecting data for statistical calculation, and changing inspection process etc. In addition, El Emam et al. and Biffl evaluated the accuracy of subjective models: They concluded that subjective estimations are equal or more accurate in industry situations.
In this paper, we applied several subjective defect estimate models to the experiment and evaluated the accuracy of each model. The most accurate model's estimate results were applied to the reinspection criteria. The validity of reinspection criteria was analyzed with the true results of the experiment.
The main findings of the experiment were as follows: (1) Subjective defect estimation models tend to underestimate the number of defects. (2) The credibility of WAE models is good enough to use them in deciding whether to reinspect the inspected document or not. (3) Reinspection criteria applying subjective defect estimate models could be a good objective data for making the reinspection decision.
소프트웨어 프로젝트를 효율적으로 관리하기 위해서는 빠른 피드백과 예측이 중요하다. 결함을 프로젝트 초기에 발견할 수록 비용이 적게 든다는 사실은 기존의 여러 논문들과 실험들을 통해 증명되어 왔고, 가장 효율적인 방법 중 하나로 인스펙션 (Inspection)이 소개되었다.
특히 품질이 강요되는 프로젝트에서는 인스펙션이 끝난 후에도, 인스펙션 시 간과하고 지나쳤을 수 있는 결함들을 찾아내기 위해 재 인스펙션을 하기도 한다. 재 인스펙션 여부는 '재 인스펙션 인자'로 결정할 수 있는데, 이 인자는 '문서나 소프트웨어의 품질'이나 '인스펙션 프로세스의 품질'에 따라 결정되는 객관적인 지표로 프로젝트 관리자나 결정권자가 재 인스펙션 여부를 결정짓는데 좋은 자료가 될 수 있다. 문서나 소프트웨어의 품질은 문서나 소프트웨어가 가지고 있는 결함의 총 수를 예측해 봄으로서 가늠해 볼 수 있다. '결함 예측 모델'이 나온 배경이 바로 이것이다.
결함 예측 모델은 '객관적인 예측 모델'과, 인스펙터(Inspector)의 주관적인 예측 데이터를 이용하는 '주관적인 예측 모델'이 소개되었고 여러 논문들을 통해서 주관적인 모델이 객관적인 모델에 비해 예측정확도가 떨어지지 않고 어떤 경우에서는 더 정확한 결과값을 주기도 한다[7]. 는 것이 알려져 있다. 주관적 모델이 객관적 모델에 비해 간단하고 빠르고 값싸게, 기존의 프로세스나 추가적인 노력 없이 적용할 수 있다는 점에서 실무자들에게 호감을 얻고 있다.
이 논문에서는, 여러 가지 주관적 결함 예측 모델들을 실험에 적용하여 실질적인 결함 개수와 모델을 적용하여 얻은 예측 값들을 비교하여 가장 정확한 모델이 무엇인가 분석해보았다. 그리고 가장 정확한 측정값을 나타낸 모델을 통해 얻은 문서의 총 결함 개수를 재인스펙션 인자에 적용시켰고, 그 인자의 값이 유효한가 아닌가를 실험을 통해 얻은 실질적인 데이터를 이용해 검증했다.
이 실험을 통해 얻은 주요 발견은 다음과 같다.
1) 대부분의 인스펙터(inspector)들이 결함 개수를 적게 예측하는 경향이 있었다. 이로 인해서 인스펙터들의 예측 결과로 값을 측정하는 '주관적 예측 모델' 대부분이 실제 결함 수에 비해 적은 수를 예측하는 경향이 있었다.
2) 주관적 모델 중 WAE 모델의 예측 정확도가 가장 높았고, RE [11] 20% 이내의 신뢰도를 보였다.
3) 재 인스펙션 인자에 주관적 모델인 WAE 모델의 예측 결과를 적용하여 재 인스펙션 여부를 결정할 수 있음을 확인하였다.