Mining Architectural Information: A Systematic Mapping Study (2212.13179v5)
Abstract: Mining Software Repositories (MSR) has become an essential activity in software development. Mining architectural information to support architecting activities, such as architecture understanding, has received significant attention in recent years. However, there is a lack of clarity on what literature on mining architectural information is available. Consequently, this may create difficulty for practitioners to understand and adopt the state-of-the-art research results, such as what approaches should be adopted to mine what architectural information in order to support architecting activities. It also hinders researchers from being aware of the challenges and remedies for the identified research gaps. We aim to identify, analyze, and synthesize the literature on mining architectural information in terms of architectural information and sources mined, architecting activities supported, approaches and tools used, and challenges faced. An SMS has been conducted on the literature published between January 2006 and December 2022. Of the 104 primary studies selected, 7 categories of architectural information have been mined, among which architectural description is the most mined architectural information; 11 categories of sources have been leveraged for mining architectural information, among which version control system is the most popular source; 11 architecting activities can be supported by the mined architectural information, among which architecture understanding is the most supported activity; 95 approaches and 56 tools were proposed and employed in mining architectural information; and 4 types of challenges in mining architectural information were identified. This SMS provides researchers with future directions and help practitioners be aware of what approaches and tools can be used to mine what architectural information from what sources to support various architecting activities.
- Cervantes H, Kazman R (2016) Designing software architectures: a practical approach. Addison-Wesley Professional
- Cohen J (1960) A coefficient of agreement for nominal scales. Educational and Psychological Measurement 20(1):37–46
- Ducasse S, Pollet D (2009) Software architecture reconstruction: A process-oriented taxonomy. IEEE Transactions on Software Engineering 35(4):573–591
- Hassan AE (2008) The road ahead for mining software repositories. In: Proceedings of the 2008 Frontiers of Software Maintenance (FoSM), pp 48–57
- ISO/IEC/IEEE (2011) Systems and Software Engineering - Architecture Description. ISO/IEC/IEEE 42010:2011(E) (Revision of ISO/IEC 42010:2007 and IEEE Std 1471-2000) pp 1–46
- Kruchten P (1995) The 4+1 view model of architecture. IEEE Software 12(6):42–50
- Kruchten P (2004) An ontology of architectural design decisions in software-intensive systems. In: Proceedings of the 2nd Groningen Workshop on Software Variability Management (SVM), pp 54–61
- Naghdipour A, Hasheminejad SMH (2023) Implications of semi-supervised learning for design pattern selection. Software Quality Journal 31(3):809–842
- Nanda SJ, Panda G (2014) A survey on nature inspired metaheuristic algorithms for partitional clustering. Swarm and Evolutionary Computation 16:1–18
- Perry DE, Wolf AL (1992) Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes 17(4):40–52
- Shaw M, Clements P (2006) The golden age of software architecture. IEEE Software 23(2):31–39
- Singhal A (2001) Modern information retrieval: A brief overview. IEEE Data Engineering Bulletin 24(4):35–43
- Weinreich R, Buchgeher G (2012) Towards supporting the software architecture life cycle. Journal of Systems and Software 85(3):546–561
- Williams BJ, Carver JC (2010) Characterizing software architecture changes: A systematic review. Information and Software Technology 52(1):31–51
- Wohlin C (2014) Guidelines for snowballing in systematic literature studies and a replication in software engineering. In: Proceedings of the 18th international Conference on Evaluation and Assessment in Software Engineering (EASE), pp 1–10
- Musengamana Jean de Dieu (5 papers)
- Peng Liang (94 papers)
- Mojtaba Shahin (54 papers)
- Chen Yang (193 papers)
- Zengyang Li (23 papers)