Concepedia

TLDR

Architectures of implemented software systems drift and erode during maintenance, so recovering them from implementation artifacts is necessary, yet existing techniques lack sufficient automation and accuracy. The authors propose a machine‑learning technique to recover an architectural view of components and connectors. Unlike prior work, the method uses recovered software concerns to identify components and connectors. By recovering concerns, the approach is expected to improve component correctness, increase connector‑recovery automation, and yield more comprehensible architectural representations.

Abstract

Architectures of implemented software systems tend to drift and erode as they are maintained and evolved. To properly understand such systems, their architectures must be recovered from implementation-level artifacts. Many techniques for architectural recovery have been proposed, but their degrees of automation and accuracy remain unsatisfactory. To alleviate these shortcomings, we present a machine learning-based technique for recovering an architectural view containing a system's components and connectors. Our approach differs from other architectural recovery work in that we rely on recovered software concerns to help identify components and connectors. A concern is a software system's role, responsibility, concept, or purpose. We posit that, by recovering concerns, we can improve the correctness of recovered components, increase the automation of connector recovery, and provide more comprehensible representations of architectures.

References

YearCitations

Page 1