Architecture Mining with ArchitectureCity
Summary
Ideally, software documentation follows the actual implementation.
However, due to a plethora of reasons, many software systems have outdated or incomplete architecture documentation.
In this paper, we present an approach that relies on the actual operation of software to gain new insights for software architects.
Based on the software operation data generated by the system, we employ architecture mining to extract and enhance operational data to support the software architect.
For this, we have developed the Architectural Intelligence Mining Framework, and more specifically, ArchitectureCity, which uses the analogy of cities to visualize the runtime of software: buildings, representing individual architectural elements are grouped in districts based on different clustering techniques, and streets depict the traffic between the different districts.
We have applied the framework to a real life case study. The visualization techniques were positively received, which shows the potential of the proposed techniques.