@misc{Thielen2023, type = {Master Thesis}, author = {Thielen, Sven}, title = {Investigating JackTrip's Software Architecture: A Case Study On Prominent Reasons For Architectural Erosion In Open Source Software Originating From Academia}, publisher = {Hochschule D{\"u}sseldorf}, address = {D{\"u}sseldorf}, url = {http://nbn-resolving.de/urn:nbn:de:hbz:due62-opus-44153}, school = {Hochschule D{\"u}sseldorf}, pages = {161}, year = {2023}, abstract = {Sustainable software architecture is crucial for the success of an evolving system that is affected by its context and environment. However, deviations between software design and implementation are often uncontrolled and induce architectural erosion. The literature describes several symptoms and observes this phenomenon in open source software. Prominent reasons for the occurrence of architectural erosion include a rushed evolution, recurring changes, a lack of developers' awareness, time pressures, and the accumulation of design decisions. Architectural erosion is also prevalent in academic projects, but it still needs to be researched in-depth in a real-life setting. In this work, a single case study investigates the symptoms and reasons for architectural erosion in open source software originating from academia by employing a mixed-methods approach. Architectural metrics from a static code analysis using ARCADE Core are contrasted with developers' perspectives sourced from semistructured interviews. The investigated project is JackTrip, a cross-platform application for realtime networked music performances and Internet reverberation research. The first research question aims at assessing the trend of structural symptoms for architectural erosion in JackTrip. The results show a significant increase in link overload smells in the course of the evolution, which reached 11 as of version 1.6.2. This supports the developers' perception of a rushed evolution corresponding to the second research question, which asks to what extent prominent causes for architectural erosion apply. Additionally, the interview data evince time constraints related to tight research funding and the commercialization of the project. Research question 3 investigates how the academic environment and the problem domain relate to the symptoms and reasons for architecture erosion. It has been found that these influences shape the development approach and impact contributor selection. In relation to a certain inexperience and lack of commitment of open source developers as a reason for architectural erosion, the results suggest further studies and opt for ending the discussion regarding skills. Currently, the role of an architect or dedicated architectural work does not seem to be present in the JackTrip project. However, structural issues described in this work should not be considered as categorical statements about its software architecture as they would need to be confirmed on a code level.}, language = {en} }