4.6 Article

Measuring the Impact of Code Dependencies on Software Architecture Recovery Techniques

Journal

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
Volume 44, Issue 2, Pages 159-181

Publisher

IEEE COMPUTER SOC
DOI: 10.1109/TSE.2017.2671865

Keywords

Software architecture; empirical software engineering; maintenance and evolution; program comprehension

Funding

  1. Natural Sciences and Engineering Research Council of Canada
  2. Google Faculty Research Award
  3. Ontario Ministry of Research and Innovation
  4. U.S. National Science Foundation [1117593, 1218115, 1321141]
  5. Infosys Technologies, Ltd.
  6. Direct For Computer & Info Scie & Enginr
  7. Division of Computing and Communication Foundations [1321141] Funding Source: National Science Foundation
  8. Direct For Computer & Info Scie & Enginr
  9. Division of Computing and Communication Foundations [1218115, 1117593] Funding Source: National Science Foundation

Ask authors/readers for more resources

Many techniques have been proposed to automatically recover software architectures from software implementations. A thorough comparison among the recovery techniques is needed to understand their effectiveness and applicability. This study improves on previous studies in two ways. First, we study the impact of leveraging accurate symbol dependencies on the accuracy of architecture recovery techniques. In addition, we evaluate other factors of the input dependencies such as the level of granularity and the dynamic-bindings graph construction. Second, we recovered the architecture of a large system, Chromium, that was not available previously. Obtaining the ground-truth architecture of Chromium involved two years of collaboration with its developers. As part of this work, we developed a new submodule-based technique to recover preliminary versions of ground-truth architectures. The results of our evaluation of nine architecture recovery techniques and their variants suggest that (1) using accurate symbol dependencies has a major influence on recovery quality, and (2) more accurate recovery techniques are needed. Our results show that some of the studied architecture recovery techniques scale to very large systems, whereas others do not.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.6
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available