Skip to main content

Hierarchical Code-to-Architecture Mapping

  • Conference paper
  • First Online:
Software Architecture (ECSA 2021)

Abstract

Automating the mapping of a system’s code to its architecture is important in improving the adoption of successful Software Architecture Consistency Checking (SACC) methods like Reflexion Modelling. InMap is an interactive and iterative code-to-architecture mapping recommendation approach that achieves a rather decent recall and precision of 0.97 and 0.82 respectively, using minimal architecture documentation to apply natural language techniques to a software’s codebase. Nevertheless, InMap like most other automated recommendations techniques maps to architectural modules, low-level source code units like classes. For large complex systems, this can still hinder adoption due to the review effort required by a software architect when accepting or rejecting the recommendations. In this paper, we present a hierarchical package mapping technique that provides recommendations for higher-level source code units, i.e. packages. It utilizes InMap’s information retrieval capabilities to recommend mappings between the software’s packages and its architectural modules. We show that using our proposed technique we are able to reduce the recommendation review effort required by an architect, by 95% on average, for the six systems tested, and still achieve a code coverage of 75%.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Ali, N., Baker, S., O’Crowley, R., Herold, S., Buckley, J.: Architecture consistency: state of the practice, challenges and requirements. Empir. Softw. Eng. 23(1), 224–258 (2018). https://doi.org/10.1007/s10664-017-9515-3

    Article  Google Scholar 

  2. Bauer, M., Trifu, M.: Architecture-aware adaptive clustering of OO systems. In: Proceedings - 8th European Conference on Software Maintenance and Reengineering, pp. 3–14 (2004)

    Google Scholar 

  3. Bittencourt, R.A., et al.: Improving automated mapping in reflexion models using information retrieval techniques. In: Proceedings - Working Conference on Reverse Engineering, WCRE, pp. 63–172 (2010)

    Google Scholar 

  4. Christl, A., et al.: Automated clustering to support the reflexion method. Inf. Softw. Technol. 49(3), 255–274 (2007)

    Article  Google Scholar 

  5. Christl, A., et al.: Equipping the reflexion method with automated clustering. In: 12th Working Conference on Reverse Engineering (2005)

    Google Scholar 

  6. Fontana, F.A., et al.: Tool support for evaluating architectural debt of an existing system: an experience report. In: Proceedings of the 31st Annual ACM Symposium on Applied Computing, pp. 1347–1349 (2016)

    Google Scholar 

  7. Knodel, J.: Sustainable Structures in Software Implementations by Live Compliance Checking. Fraunhofer-Verl, Stuttgart (2011)

    Google Scholar 

  8. Knodel, J., Popescu, D.: A comparison of static architecture compliance checking approaches. In: Proceedings of the 6th Working IEEE/IFIP Conference on Software Architecture (2007)

    Google Scholar 

  9. Murphy, G.C., et al.: Software reflexion models: bridging the gap between source and high-level models. IEEE Trans. Softw. Eng. 27(4), 364–380 (2001)

    Article  Google Scholar 

  10. Naim, S.M., Kostadin Damevski, M., Hossain, S.: Reconstructing and evolving software architectures using a coordinated clustering framework. Autom. Softw. Eng. 24(3), 543–572 (2017). https://doi.org/10.1007/s10515-017-0211-8

    Article  Google Scholar 

  11. Olsson, T., et al.: Semi-automatic mapping of source code using Naive Bayes. In: Proceedings of the 13th European Conference on Software Architecture, pp. 209–216 (2019)

    Google Scholar 

  12. Passos, L., et al.: Static architecture-conformance checking: an illustrative overview. IEEE Softw. 27(5), 82–89 (2010)

    Article  Google Scholar 

  13. Rosik, J., et al.: Assessing architectural drift in commercial software development: a case study. Softw. Pract. Exp. 41, 63–86 (2011)

    Article  Google Scholar 

  14. de Silva, L., Balasubramaniam, D.: Controlling software architecture erosion: a survey. J. Syst. Softw. 85(1), 132–151 (2012)

    Article  Google Scholar 

  15. Sinkala, Z.T., Herold, S.: InMap: automated interactive code-to-architecture mapping. In: Proceedings of the ACM Symposium on Applied Computing, pp. 1439–1442 (2021)

    Google Scholar 

  16. Sinkala, Z.T., Herold, S.: InMap: automated interactive code-to-architecture mapping recommendations. In: Proceedings - IEEE 18th International Conference on Software Architecture, pp. 173–183 (2021)

    Google Scholar 

  17. Sinkala, Z.T., Herold, S.: Towards hierarchical code-to-architecture mapping using information retrieval. In: Companion Proceedings - IEEE 15th European Conference on Software Architecture (2021)

    Google Scholar 

  18. Wiggerts, T.A.: Using clustering algorithms in legacy systems remodularization. In: Proceedings of the 4th Working Conference on Reverse Engineering, pp. 33–43 (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zipani Tom Sinkala .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Sinkala, Z.T., Herold, S. (2022). Hierarchical Code-to-Architecture Mapping. In: Scandurra, P., Galster, M., Mirandola, R., Weyns, D. (eds) Software Architecture. ECSA 2021. Lecture Notes in Computer Science, vol 13365. Springer, Cham. https://doi.org/10.1007/978-3-031-15116-3_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-15116-3_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-15115-6

  • Online ISBN: 978-3-031-15116-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics