All student projects

Exploring Architectural Knowledge in Open Source Systems

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:

  1. Identify and classify architectural issues, mailing lists and their relationships.
  2. Analyze a sample of architectural issues and mailing lists using qualitative (e.g. Atlas.ti) or quantitative (e.g. using NLP) methods.
  3. (Optional depends on students skills) Develop an approach to automatically identify and classify architectural issues and mails.
  4. (Optional depends on students skills) Analyze relationships and differences between source code and architectural knowledge in issues.

The steps could be adjusted based on the skills and interests of students.

Contact: Mohamed Soliman, or Paris Avgeriou

References

[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

Supervisor(s)

SEARCH Group • University of Groningen • 2023
Some graphics by Font Awesome, Icons8, and Vectors Market.