Defect Reduction Empirical Research Activities

A major theme of the President’s Information Technology Advisory Committee (PITAC) report was the “fragility” of our software infrastructure, where fragility means “unreliability, lack of security, performance lapses, errors, and difficulty in upgrading” [PITAC98].  The PITAC was particularly concerned by these failings because software now affects almost every aspect of personal and professional life in the nation, and even greater demands on software are expected in the future as people increasingly rely on it in their everyday lives.

Defect reduction activities help construct higher-quality, more reliable systems by concentrating on finding and repairing defects in software artifacts during the development process. Data suggests that ideally, defects should be removed as early in the software lifecycle as possible (for example, in the requirements and design phases) when they are the cheapest to correct.

CeBASE offers resources on:

·        Defect Reduction Lessons learned

o       eWorkshops: Panels of experts discuss heuristics concerning defects in software development. Click here to know more about the eWorkshops.

§         Results of the workshop on "What We Know about Fighting Defects," that was held June 7, co-located with the 2002 Metrics Symposium in Ottawa , Canada. The goal of the workshop was to generate a list of heuristics on software reduction that reflect what experts feel to be the current state of knowledge in this area. A summary of the resulting discussion is available HERE.

§         Results of Third eWorkshop – Nov. 12, 2001 – Focusing on effective methods for finding defects

§         Results of Second eWorkshop – July 16,2001 – Focusing on the impact of defects on software

§         Results of First eWorkshop - March 16,2001 – Focusing on the cost and effort due to software defects

§         Read a white paper describing the research work. (Coming soon.)

o       Software Defect Reduction Top 10-List

·        Defect reduction techniques

o       Reading Techniques to Improve Software Inspections

§         Reading techniques provide step-by-step procedures to guide individual inspectors when they review a software artifact. Unlike many other inspection approaches, which refine the meeting roles and responsibilities, reading techniques focus on providing guidance for the individual, “preparation” phase of the inspection – where inspectors need to effectively review the given artifact and recognize defects.

§         For CeBASE collaborators only: Browse the searchable repository of data collected on reading techniques and associated artifacts.

·        Defect prediction techniques

o       COQUALMO

§         COQUALMO is a model for estimating delivered defect density.

CeBASE is working to expand the decision-support available to practitioners through research activities in conjunction with:

·         The NSF/CNPq “Readers’ Project”

o        To address issues of running effective replications and drawing general and robust lessons learned, a cooperation between Brazilian and American researchers, named "Readers:  A Collaborative Research to Develop, Validate and Package Reading Techniques for Software Defect Detection,” was initiated in 1999. This cooperation, supported by the Brazilian (CNPq) and American (NSF) national science agencies, has the general purpose of investigating techniques for analyzing software documents in diverse cultural settings. The long-term objective in this research line is to tailor these “analysis techniques” to accomplish a specific software-related task (defect detection) using specific kinds of software document (requirements, specification, and code documents) in specific environments or cultural settings (Brazilian and American industries and academia) based on empirical evaluation.

·         The ISERN Distributed Inspection Experiment

o        ISERN, the International Software Engineering Research Network, was founded in 1992 to promote the state of the art of empirical software engineering in research and practice. A current research thrust is the development of a method to plan, conduct, and analyze concerted families of experiments. Data from such studies can be combined easily and without loss of accuracy to provide higher-level lessons learned about the practical use of some technology. The goal of the method is to maximize the quality and benefit of the individual studies as part of the family and to minimize the effort for researchers by reusing experiment knowledge.