Home | CV | Research | Teaching | Publications | ResearchWiki | SEAD | CRC | SecureChange | SP4A | VideoWall | RESG | RSS

Recovering Problem Structures from Execution Traces

Software systems evolve in response to changes in stakeholder requirements. Lack of documentation about the original system can make it difficult to analyze and implement new requirements. Although automatic recovery of all requirements from an implementation is usually not possible, we suggest that the recovery of problem structures, which in turn inform the problem analysis of new requirements, is feasible and useful. In this work, we propose a tool-supported approach to recover and maintain structures of problems, solutions, and their relationships, by recovering causal control and data dependencies between components. Extracting low-level program structures is done fully automatically, while higher-level descriptions of problem structures are obtained interactively. We validate our approach using a case study of a medium-sized open-source software system.

Resources