27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Evaluating the Cost-Effectiveness of Inspecting the<br />

Requirement Documents: An Empirical Study<br />

Narendar Mandala, Gursimran S. Walia<br />

Department of Computer Science<br />

North Dakota State University<br />

Fargo, ND<br />

{narendar.mandala, gursimran.walia}@ndsu.edu<br />

Abstract—Inspections and testing are two widely recommended<br />

techniques for improving software quality. While inspections are<br />

effective at finding and fixing the faults early in the lifecycle,<br />

there is a lack of empirical evidence regarding the extent to which<br />

the testing costs are reduced by performing the inspections of<br />

early software documents. This research applied the Kusumoto<br />

cost-metric that analyzed the costs and benefits of inspections<br />

versus testing using the fault data from four real requirement<br />

documents that were inspected twice. Another aspect of our<br />

research evaluated the use of Capture Recapture (CR) method to<br />

estimate the faults remaining post inspection to decide the need<br />

for a re-inspection. Our results provide a detailed analysis of the<br />

ability of the CR method to accurately estimate the cost savings<br />

(within +/- 20% of the actual value) after each inspection cycle.<br />

Keywords-cost-effectiveness; inspections; requirements.<br />

I. INTRODUCTION<br />

Successful software organizations strive to deliver high<br />

quality products on time and within budget. To manage<br />

software quality, researchers and practitioners have devoted<br />

considerable effort to help developers find and fix faults at the<br />

early stages of the lifecycle (i.e., in requirements and design<br />

documents) and reduce its impact in the later stages [1-3]. In<br />

software engineering research, software inspections have been<br />

empirically validated to improve quality by helping developers<br />

find and fix faults early and avoid costly rework [1-3, 6, 11].<br />

Similar to inspections, testing is also widely recommended<br />

technique for improving software quality. While both are<br />

effective fault detection techniques, testing cannot be<br />

conducted until software has been implemented, whereas<br />

inspections can be applied immediately after software<br />

documents have been created. Empirical evidence suggests that<br />

a majority of the development effort is spent during the testing<br />

stage of project [6, 11, 12]. Furthermore, it is estimated that 40-<br />

50% of the testing effort is spent on fixing problems that<br />

should have been fixed during the early stages of the<br />

development [15, 17, 22]. However, there is little empirical<br />

evidence regarding the rework cost-savings that can be<br />

achieved by performing the inspections of early work products.<br />

Therefore, an empirical evaluation of the costs and benefits<br />

of inspections (against the testing cost that would be spent if no<br />

inspections are performed) can help manage the software<br />

quality. To evaluate the costs and benefits of inspections and<br />

testing, this research reports the results from the application of<br />

Kusumoto cost-metric [13] that analyzed the testing costs that<br />

were reduced by performing inspections of software<br />

requirement documents immediately after its development.<br />

Furthermore, the kusumoto metric calculation requires<br />

information regarding the total fault count of the document and<br />

the faults remaining post-inspection. However, inspections only<br />

provide the information about the faults that are found during<br />

an inspection. During software development, project managers<br />

need reliable estimates of the remaining faults after an<br />

inspection to help decide whether to invest in a re-inspection or<br />

to pass the document to the next phase. To that end, our prior<br />

research has shown that, among the different approaches that<br />

are available for estimating the total number of faults in the<br />

artifact (e.g., defect density, subjective assessment, historical<br />

data, capture-recapture, curve-fitting), capture-recapture (CR)<br />

method is the most appropriate and objective approach [19].<br />

Capture-recapture (CR) is a statistical method originally<br />

developed by biologists to estimate the size of wildlife<br />

populations. To use CR, a biologist captures a fixed number of<br />

animals, marks them, and releases them back into the<br />

population. Then another trapping occasion occurs. If an<br />

animal that was ‘marked’ during the first trapping is caught<br />

again, it is said to have been recaptured. The process of<br />

trapping and marking can be repeated multiple times. The size<br />

of the population is then estimated using: 1) the total number of<br />

unique animals captured across all trappings, and 2) the number<br />

of animals that were re-captured [7-8, 22]. Using the same<br />

principle, the CR method can be used during the inspection<br />

process to estimate the number of faults in an artifact. During<br />

an inspection, each inspector finds (or captures) some faults. If<br />

the same fault is found by more than one inspector it has been<br />

re-captured [5, 10, 16, 19]. The total number of faults is<br />

estimated using the same process as in wildlife research, except<br />

that the animals are replaced by faults and the trappings are<br />

replaced by inspectors. The inspection team can use the<br />

estimate of the total fault count along with the number of faults<br />

already detected to estimate the number of faults remaining in<br />

the artifact post inspection.<br />

This paper reports a comprehensive evaluation of Kusumoto<br />

metric in conjunction with the CR method using inspection<br />

data from real artifacts that contain natural faults made during<br />

the development. The artifacts were inspected two times, and<br />

we compared the cost-effectiveness after each inspection cycle<br />

45

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!