Playing Detective: Reconstructing Software Architecture from Available Evidence

  • Authors:
  • Rick Kazman;S. Jeromy Carrière

  • Affiliations:
  • Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA 15213, USA. kazman@sei.cmu.edu;Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA 15213, USA. sjc@sei.cmu.edu

  • Venue:
  • Automated Software Engineering
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Because a system‘s software architecture stronglyinfluences its quality attributes such as modifiability, performance,and security, it is important to analyze and reason about thatarchitecture. However, architectural documentation frequently doesnot exist, and when it does, it is often “out of sync” with theimplemented system. In addition, it is rare that software developmentbegins with a clean slate; systems are almost always constrained byexisting legacy code. As a consequence, we need to be able to extractinformation from existing system implementations and utilize thisinformation for architectural reasoning. This paper presents Dali, an open, lightweight workbench that aids an analyst inextracting, manipulating, and interpreting architectural information.By assisting in the reconstruction of architectures from extractedinformation, Dali helps an analyst redocument architectures, discoverthe relationship between “as-implemented” and “as-designed”architectures, analyze architectural quality attributes and plan forarchitectural change.