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.

Data<br />

Set<br />

TABLE II. DATA SETS<br />

Artifact Name Description # of<br />

Inspectors<br />

1 st<br />

inspection<br />

Faults<br />

2 nd<br />

Inspection<br />

Faults<br />

1 Starkville Theatre System Management of ticket sales and seat assignments for the theatre 8 30 25 55<br />

2 Management of Apartment Managing apartment and town property, assignment of tenants, rent 8 41 64 105<br />

and Town properties<br />

collection, and locating property by potential renters<br />

3 Conference Management Helping the conference chair to manage paper submission,<br />

6 52 42 94<br />

4 Conference Management notification to authors, and other related responsibilities<br />

6 64 54 118<br />

Total<br />

Faults<br />

B. Data Set<br />

The data was drawn from earlier inspection studies<br />

conducted at Mississippi State University (MSU). The original<br />

goal of these studies was to investigate how the use of error<br />

information impacted requirements inspections [20]. Only the<br />

information relevant to our research analysis is presented here:<br />

1) Software Artifacts and Software Inspectors: Inspection<br />

data from 4 artifacts used in this study were developed by<br />

senior-level students enrolled in the Software Engineering<br />

Design Course at MSU during two different years. The course<br />

required student teams to interact with real customers to elicit<br />

and document requirements that they would later implement.<br />

So, even though the developers were students, the artifacts are<br />

realistic for a small project. The subjects were divided into 4<br />

teams (with 8, 8, 6, and 6 students respectively) that developed<br />

the requirement documents for their respective systems as<br />

shown in Table II.<br />

2) Software Inspection Process: Each requirement<br />

document was inspected twice by the same subjects who<br />

created it. During the first inspection, the subjects received<br />

training on the use of a fault checklist. Then, each inspector<br />

individually inspected the requirements using the fault<br />

checklist and logged any faults identified. After the first<br />

inspection, the participants were trained on how to abstract<br />

errors from faults, how to classify the errors, and how to use<br />

the errors to re-inspect the requirements document. Then, each<br />

inspector re-inspected the requirements using the errors to find<br />

the additional faults. The artifacts were not modified or<br />

corrected between inspections (i.e., the same document was<br />

re-inspected). Therefore, we collected inspection data from the<br />

first inspection, the second inspection, and the total for each<br />

artifact. Note that the last three columns in Table II show<br />

faults found during the first inspection, during the second<br />

inspection, and total for all the 4 artifacts. Also, we collected<br />

the time spent (in hours) by each subject during the first and<br />

second inspection cycle and the total time for each artifact.<br />

C. Evaluation Procedure<br />

The following costs and savings for each artifact were<br />

computed after the first and second inspection cycle:<br />

Average cost to detect a fault in inspection (c r ): Adding all<br />

the faults found by the inspectors, the average number of<br />

faults found by an inspector is calculated. From the<br />

available values of time taken by each inspector and the<br />

average number of faults found by an inspector, c r is<br />

calculated as: c r = C r / D r<br />

<br />

<br />

o<br />

o<br />

The “C r - Inspection cost”, is calculated by adding the<br />

time spent by all the inspectors during the inspection.<br />

The “D r ”, is the total number of unique faults found<br />

by all the inspectors during an inspection cycle.<br />

Virtual Testing Cost (C vt ): is calculated as the product of<br />

the average cost to defect a fault in testing (i.e., c t ) and the<br />

total number of faults present in the product (i.e., D total ).<br />

o The “c t - Average cost to detect a fault in testing”, is<br />

calculated as 6 times of average cost to detect a fault<br />

during the inspection (c r ).<br />

o The “D total - Total fault count”, is the total number of<br />

faults present in the document.<br />

Cost saved from inspection (∆C t ): The testing cost saved<br />

from inspection is the product of the number of unique<br />

faults found during the inspection (D r ) and the average<br />

cost to find a fault during the testing (c t ). i.e., ∆C t =Dr *c t .<br />

The difference in the testing cost saved by the inspection<br />

and the cost spent on the inspection provides the reduction of<br />

the total costs. M k value is then obtained as follows:<br />

M k = (∆C t - C r ) / C vt<br />

This procedure was executed to calculate: (1) M k using the<br />

actual fault count and (2) M k using the CR estimates after each<br />

inspection for all the 4 artifacts. After the first inspection, the<br />

actual and estimated M k values were obtained as follows:<br />

1) M k based on the actual fault count: Because we do not<br />

know the actual number of faults, the total number of<br />

exclusive faults found after both inspections is assumed to be<br />

the actual fault count for the purposes of this study. Therefore,<br />

for each artifact, the faults found during the first inspection<br />

(column 5 of Table II) by all the inspectors and the actual fault<br />

count (column 7 of Table II) were used to calculate the actual<br />

M k value of the first inspection cycle.<br />

2) M k based on the CR estimates: For each artifact, the<br />

faults found during the first inspection by all the inspectors<br />

(column 5) are inserted into a matrix (as described in Section<br />

II.C). The matrix is then fed to the automated tool (CARE-2<br />

[8]) to produce the estimates from all the CR estimators. Using<br />

the estimated fault count and the number of faults found<br />

during the first inspection, the M k values were calculated.<br />

Because the artifacts were unchanged between inspections,<br />

to calculate the cost-effectiveness after second inspection, we<br />

use the total faults found from both inspections (Column 7).<br />

Since we are calculating the testing cost saved by performing<br />

the inspections, it did not make sense to use only the data from<br />

second inspection. Furthermore, using only the data from<br />

48

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

Saved successfully!

Ooh no, something went wrong!