Impact Analysis using Decision-to-Decision Paths

Document Type



Dr. Paul Jorgensen, jorgensp@gvsu.edu


Change occurs in software during development, maintenance, and the addition of features, and can impact existing software systems in indeterminate ways. Software development environments which are highly iterative, such as Agile methodologies where there are many build and release cycles, require significant testing resources to maintain quality and can constrain development efforts. Quantifying and isolating change in software systems potentially reduce testing and verification efforts and enhances risk and effort estimation for software evolution. Software Requirements are often formed from ?use cases?, a method for identifying and isolating system functionalities from natural language descriptions of complex processes; e.g. isolating the clock setting process from a highly detailed Video Recorder operational description. They also describe system level threads of activity that can be ultimately decomposed into the data and process models and software code that bind them together, producing elemental, structural code paths called decision-to-decision, or dd-paths. These dd-paths are mathematically rigorous, and once sufficiently instrumented can report change at an elemental level. Following a code base through its life-cycle, this dd-path metadata can track and report change. Storage and analysis of the dd-path metadata in a relational database provides a managed, secure and flexible environment. Further coupling with the set operators of Structured Query Language (SQL) provides strong tools to identify and isolate impact. This talk describes an elemental implementation of such a system for a small demonstration code section and the primitive operators required to isolate such change.

This document is currently not available here.