Requirement error abstraction and classification: an empirical study

Author(s): Walia, Gursimran S., Jeffrey Carver, and Thomas Philip
Venue: International Symposium on Empirical Software Engineering, Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering Defect classification
Date: 2006

Sample Size: 16
Class/Experience Level: Undergraduate Student

Quality
3

Link:http://portal.acm.org/citation.cfm?id=1159784

The paper discusses about the "software quality problem from a different perspective involving a step back from faults to focus on the fundamental causes of faults." The paper propose a step called the application of Error Abstraction Process (EAP) to the requirements phase of the software life cycle in development of a Requirement Error Taxonomy (RET). Using this, the paper shows an empirical study on the application of the EAP and RET to requirement documents in a controlled classroom setting. In better words, the paper's goal is: "To analyze the underlying causes of faults and to provide developers with methods for identifying, and classifying the errors to improve software quality." The paper concludes that "the EAP significantly improves the productivity of subjects, that the RET is useful for improving software quality, that it provides useful insights into the requirements document, and that various context variables also impact the results."

Process Outline

  1. Although each of the two teams were working on different systems, both dealt with the handling of transactions
  2. Develop an System Requirements Specification
  3. Inspect the System Requirements Specification for faults
  4. Trained for 40 minutes about error abstraction (EAP)
  5. Abstract the errors after the training
  6. Trained for 120 minutes about requirement error classification (RET)
  7. Classification of errors after the training
  8. Locate more faults by going back

RESULTS

  1. Hypothesis 1: EAP improves the effectiveness and efficiency for teams and for individuals
  2. Hypothesis 2: RET is useful for improving software quality
  3. Hypothesis 3: RET provides significant insights into the requirement phase of software development
  4. Hypothesis 4: Contribution of the research from human cognition, psychology, and other fields helps locate more faults
  5. Hypothesis 5: Individual performance during the EAP depends on various independent variables including: process conformance, performance on practice run, usefulness of training procedure, and effort applied
0