Software architectural design decisions (ADDs) play a crucial role when developing a software system [1]. However, making the right ADDs is a challenging task, which requires knowledge and expertise. Sharing and re-using architectural knowledge from existing systems could support software engineers to learn from previous design experiences. This would be useful for software engineers to re-use successful ADDs from other existing software systems.
In open source systems, software engineers share their architectural knowledge in multiple different tools, such as issue tracking systems [2], mailing lists [3] and pull requests. Using traditional search engines (i.e. keywords-based), software engineers could find relevant architectural knowledge. However, the distribution of information among different tools makes it challenging for software engineers to find relevant architectural information.
The main goal of this research effort is to explore architectural knowledge in open source systems. During the thesis or internship, we make the following steps:
The steps could be adjusted based on the skills and interests of students.
Contact: Mohamed Soliman, or Paris Avgeriou
[1] L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, 2nd ed. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc., 2003.
[2] A. Shahbazian, Y. Kyu Lee, D. Le, Y. Brun and N. Medvidovic, “Recovering Architectural Design Decisions,” 2018 IEEE International Conference on Software Architecture (ICSA), Seattle, WA, 2018, pp. 95-9509.
[3] Xue ying Li, Peng Liang, and Tian qing Liu. Decisions and Their Making in OSS Development: An Exploratory Study Using the Hibernate Developer Mailing List. In Proceedings - Asia-Pacific Software Engineering Conference, APSEC, volume 2019-December, pages 323–330. IEEE Computer Society, 12 2019