Component diagram recovery with dynamic analysis

More Info
expand_more

Abstract

By evaluating the architecture of a software system, ways to improve the system's quality attributes (such as its performance and modifiability) can be identified and valuable lessons can be learned which may also be applied to other systems. An architecture evaluation requires an up-to-date description of the architecture, which is often unavailable. In such a case, reverse engineering techniques can be used to recover it. For an effective and efficient recovery and evaluation of an architecture, the scope of the recovery should be narrowed to the parts of the system that are relevant for the evaluation and the recovered architectural views should be useful for a wide range of system stakeholders. This thesis presents a case study, in which these issues are addressed by using dynamic analysis and Prolog to recover architectural views. A survey involving representatives of several groups of stakeholders was conducted to assess the usefulness of a recovered view. The results show that the approach is potentially useful, but that more work is needed to further evaluate it and to make it more usable in practice.