IV&V Facility Research Program Results and SARP Results  

Advanced Search
Click here to complete a short survey. The results of this survey will be used to help us improve the research program and this website.

Click here to view research projects that had new research results added in the last 90 days.


Inspections for Systems and Software
Point of Contact Forrest Shull
fshull@fc-md.umd.edu
Dates October 2008 - March 2011
Problem Given the mission- and safety-critical requirements of many NASA projects, selecting and applying appropriate and cost-effective quality assurance (QA) techniques has always been of prime importance. Our recent work has focused on using historical NASA data to examine one particular QA technique with a track record of effective results: Software Inspections. This work resulted in a dashboard tool that collects and presents inspection related data to assist teams in making better decisions about how much effort to allocate to inspections, the numbers and types of defects they can be expected to catch, and which issues are better found via other QA techniques elsewhere in the lifecycle, such as testing. To support ease of implementation on current projects, an "experience base" component was developed to provide links to support material, such as checklists and defect classifications. Anecdotally, we have found that many of the teams we have worked with think of inspections as a tool to be applied to quality checking of code. In previous technology infusion projects we have been successful at getting teams to apply inspections earlier in the lifecycle, during requirements definition activities, where we and many other authors have argued that the greatest benefit lies. However, inspections techniques are not widely used for quality checking architectures and designs. Application of inspection techniques in design phases is particularly important because design activities typically involve the integration of system and software concerns and therefore act as the source of many defects. Better tailoring and improving the adoption of inspections for these activities can allow teams to better take a holistic view of how the software and system fit together, and potentially find more and additional types of defects. Better inspection mechanisms for design and code are also necessary to integrate this proven QA technique with the state-of-the-art approaches that are being advocated for use on advanced missions, such as Model-Driven Architecture. Software inspections, despite the name, are a logical technique to apply to system-level artifacts. Hardware review practices were in fact one of the primary sources from which Michael Fagan drew for his seminal 1976 paper, which was the first to draw attention to the idea of software inspections. Software inspections have proven time and again to be one of the most effective V&V techniques to apply to software , and their applicability to design artifacts that are available long before any executable code has been produced is one of their strengths. Our work will examine what lessons learned from the hundreds of software inspections applied at NASA can be applied to an equally effective process for system-level design reviews.
Objective Goal A: Develop and assess inspection techniques that target system-level considerations Subgoal 1: Develop and deploy inspection techniques targeted at system-level design artifacts. Subgoal 2: Assess the types of defects that can be detected via those tailored inspection approaches, and assess their effectiveness (percentage of defects detected) in use. Build models and heuristics based on this data. Goal B: Expand the use and benefits of inspections across NASA. Subgoal 1: Integrate existing tool functionality for supporting inspections into a tool already being deployed across NASA (i.e., the eRoom tool). Subgoal 2: Facilitate the use of effective best practices and tools (where they exist) by NASA project managers for planning (i.e., selecting appropriate checklists, tools, and templates), conducting, analyzing, and documenting inspections.
Results No results are available at this time. Please check back again.
Keywords Software inspection, quality assurance, defect metrics & management, system engineering, continuous process improvement, metrics dashboard
Categories Quality Assurance
Code Analysis
Process Improvement
Static Analysis