Comparative Study of the Effectiveness of Ad Hoc
,
Checklist- and
Perspective-based Software Inspection Reading TechniquesOlalekan S. Akinola Ipeayeda Funmilola Wumi
Solom202@yahoo.co.uk funmipy12@yahoo.com
Department of Computer Science, Department of Physical Sciences,University of Ibadan, Ibadan, Nigeria Ajayi Crowther University, Oyo Town, Nigeria
ABSTRACT
Software inspection is said to be inevitable in order to ensure software quality assurance. Nevertheless,there have been controversies on which defect detection techniques should be applied in softwaredocument inspection. This work comparatively study the effectiveness of three software inspectiontechniques: Ad
Hoc,
Perspective-based and Checklist-based defect detection techniques. Paper-basedinspections of software artifact were carried out on an industrial code artifact seeded with forty bugs. Anexperimental 3 x 3 x 4 factorial design with three defect detection techniques (checklist-based, Adhocand perspective-based) as independent variables, three dependent variables (inspection effectiveness,effort and false positives) and four teams for each defect detection methods was used for the experiment.The data obtained were subjected to tests of hypotheses using One-way ANOVA, Post-Hoc tests andMean coefficients. Results from the study indicate that there were significant differences in the defectdetection effectiveness and effort in terms of time taken in minutes reported by the reviewers usingperspective-based, ad hoc and checklist-based based reading techniques in the industrial settings.Key words: Software inspection, Ad Hoc reading technique, Checklist reading technique, Perspectivereading technique
1. INTRODUCTION
The process of improving software quality hasbeen a growing discussion in the few decades.Software quality can be defined to be software thatsatisfies the needs of the users and theprogrammers involved in it or as the customer’sperception of how the system work. Softwareinspection is a fundamental component of thesoftware quality assurance process. It is a processwhereby a group of software competent peoplecritically checks a piece of software milestone fordetecting defects [1]. Inspection improves thequality of software products, such as understand-ability, portability, maintainability, testability, etc.Its success has always been demonstrated in manypublished articles.Software Inspections are a formalized, structuredform of
peer reviews
. They are an extremely cost-effective quality assurance technique that can beapplied to any type of software project deliverable,such as Requirements documents, Designdocuments, Code, and other items such as testplans and user documents. For most softwareorganizations, Software Inspections are
the most important single process improvement
. Accordingto Capers [4],
“… formal design and codeinspections rank as the most effectivemethods of defect removal yet discovered … (defect removal) can top 85%, about twice those of any form of testing.”
Since the year Fagan developed theinspection process in the early 70s at IBM;there have been many variations of theprocess put forth by others. The aim is touncover faults in the products, rather thanto correct them. The goal of inspectionmeetings is to collect the faults discoveredand bring synergy (process gains) to thesoftware inspection. It is believed that thecombination of different viewpoints, skillsand knowledge from many reviewerscreates this synergy [10].
Ad Hoc
, checklist-based and perspective-based reading techniques are the threecommonly used inspection artifactsreading techniques. To the best of ourknowledge, experiments comparing theeffectiveness of all three together arescarce. This research is thereforeconducted to find if there are any
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 9, No. 11, November 2011163http://sites.google.com/site/ijcsis/ISSN 1947-5500