skip to main content
10.1145/3477314.3506980acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Software layer recovery through ego network analysis

Published: 06 May 2022 Publication History

Abstract

The layered architecture style is one way to decompose software systems. Such an architecture consists of hierarchically organized layers that group program elements together. Recovering layering information is essential for the evolution and maintenance of existing software systems. This paper presents a novel approach to recover software layers through ego network analysis. Ego networks have traditionally been used for social network analysis; this paper adapts and tunes it to suit discovering software layers. Specifically, a dependency network is extracted from the source code to create an ego network. The ego network is processed to generate and optimize ego layers in a hierarchy of layers. The paper presents the preliminary evaluation of the approach on a small-scale system. Evaluating the approach on a small scale system provides encouraging results to validate it on large-scale systems.

References

[1]
Bill Andreopoulos, Aijun An, Vassilios Tzerpos, and Xiaogang Wang. 2007. Clustering large software systems at multiple layers. Information and Software Technology 49, 3 (2007), 244--254.
[2]
Alvine Boaye Belle, Ghizlane El-Boussaidi, Christian Desrosiers, and Hafedh Mili. 2013. The layered architecture revisited: Is it an optimization problem?. In SEKE. 344--349.
[3]
Alvine Boaye Belle, Ghizlane El Boussaidi, and Hafedh Mili. 2014. Recovering software layers from object oriented systems. In Evaluation of Novel Approaches to Software Engineering (ENASE), 2014 International Conference on. IEEE, 1--12.
[4]
Stephen P Borgatti, Ajay Mehra, Daniel J Brass, and Giuseppe Labianca. 2009. Network analysis in the social sciences. science 323, 5916 (2009), 892--895.
[5]
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal. 2008. Pattern-oriented software architecture: a system of patterns. Vol. 1. John Wiley and Sons.
[6]
Linton C Freeman. 1982. Centered graphs and the structure of ego networks. Mathematical Social Sciences 3, 3 (1982), 291--304.
[7]
Thomas Haitzer and Uwe Zdun. 2015. Semi-automatic architectural pattern identification and documentation using architectural primitives. Journal of Systems and Software 102 (2015), 35--57.
[8]
http://www.cse.iitb.ac.in/constore. 2009. http://www.cse.iitb.ac.in/constore.
[9]
Ibrar Hussain, Aasia Khanum, Abdul Qudus Abbasi, and Muhammad Younus Javed. 2015. A Novel Approach for Software Architecture Recovery using Particle Swarm Optimization. International Arab Journal of Information Technology (IAJIT) 12, 1 (2015).
[10]
Arvind W Kiwelekar and Rushikesh K Joshi. 2013. Ontological interpretation of object-oriented programming abstractions. In 2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 189--198.
[11]
Arvind W Kiwelekar and Rushikesh K Joshi. 2014. An ontological framework for architecture model integration. In Proceedings of the 4th International Workshop on Twin Peaks of Requirements and Architecture. 24--27.
[12]
Jannik Laval, Nicolas Anquetil, Usman Bhatti, and Stéphane Ducasse. 2013. OZONE: Layer Identification in the presence of Cyclic Dependencies. Science of Computer Programming 78, 8 (2013), 1055--1072.
[13]
Spiros Mancoridis, Brian S Mitchell, Yihfarn Chen, and Emden R Gansner. 1999. Bunch: A clustering tool for the recovery and maintenance of software system structures. In Proceedings IEEE International Conference on Software Maintenance-1999 (ICSM'99).'Software Maintenance for Business Change'(Cat. No. 99CB36360). IEEE, 50--59.
[14]
Onaiza Maqbool and Haroon Babri. 2007. Hierarchical clustering for software architecture recovery. IEEE Transactions on Software Engineering 33, 11 (2007), 759--780.
[15]
Mazeiar Salehie, Shimin Li, and Ladan Tahvildari. 2005. 'Architectural Recovery of JBoss Application Server'. Technical Report. Tech. Report no. UW-E&CE# 2005-02, University of Waterloo.
[16]
Parinya Samrongsap and Wiwat Vatanawood. 2014. A tool for detecting dependency violation of layered architecture in source code. In Computer Science and Engineering Conference (ICSEC), 2014 International. IEEE, 130--133.
[17]
Santonu Sarkar and Vikrant Kaulgud. 2010. Architecture Reconstruction from Code for Business Applications-A Practical Approach. In 1st India Workshop on Reverse Engineering,(IWRE).
[18]
Santonu Sarkar, Girish Maskeri, and Shubha Ramachandran. 2009. Discovery of architectural layers and measurement of layering violations in source code. Journal of Systems and Software 82, 11 (2009), 1891--1905.
[19]
Giuseppe Scanniello, Anna D'Amico, Carmela D'Amico, and Teodora D'Amico. 2010. Architectural layer recovery for software system understanding and evolution. Software: Practice and Experience 40, 10 (2010), 897--916.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '22: Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing
April 2022
2099 pages
ISBN:9781450387132
DOI:10.1145/3477314
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 May 2022

Permissions

Request permissions for this article.

Check for updates

Author Tag

  1. social network analysis layered architecture style ego network analysis architecture recovery software evolution

Qualifiers

  • Research-article

Conference

SAC '22
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 39
    Total Downloads
  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 25 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media