Identifying architectural patterns used in open source software: approaches and challenges
Babar, Muhammad Ali
ACM Assocation for Computing Machinery
Background: Open Source Software (OSS) is increasingly used in product development. Besides some much-reported benefits of this approach, using OSS products also presents new challenges. One such challenge is identifying relevant, high-quality OSS products among the hundreds of thousands that are available. One approach for doing that is to identify architectural patterns, since these patterns have a direct effect on a product's quality attributes, such as performance and reliability. However, there are no well-defined methods or tools available to identify architectural patterns. Research aim: Our goal is to identify approaches taken by novice software engineers that have no or little experience in identifying architectural patterns. We aim to get insight into how these novices tackle this problem, what challenges they encounter and what suggestions they have for improving this process. Method: We collected data from seven M. Sc. student teams that performed a pattern identification assignment. We conducted semi-structured interviews with eight students from two teams. We studied reflection reports from four teams that reported their experiences as part of their final report. Furthermore, during his M. Sc. course, one of the authors performed the assignment as a member of a team. We also included his experiences. Results and conclusions: We identified a number of approaches that students have taken in order to identify architectural patterns, as well as a number of challenges that they encountered in this task. Furthermore, based on suggestions from the students, we present a proposal to improve this process.
Open source software , Architectural patterns , OSS products , Product development , Software engineers , Students , Computing education , Computer science education , Applied computing , Pattern identification , Approaches , Challenges
Stol, K.-J.. Avgeriou, P. and Babar, M. A. (2010) 'Identifying architectural patterns used in open source software: approaches and challenges', EASE'10: Proceedings of the 14th international conference on Evaluation and Assessment in Software Engineering, pp. 91-100.