MONTEIRO, J. A. B.; http://lattes.cnpq.br/7892247821251194; MONTEIRO, João Arthur Brunet.
Résumé:
Architectural erosion is the progressive lack of software structure over time. Previous studies on this subject concentrate on presenting conformance checking techniques and tools, and how effective they are in a single version of systems under analysis. However, fitere are still open research questions regarding the evolutionär)' nature of architectural violations. Besides that, little is known about the relevance of architectural violations and their impact on software development activities. This thesis describes three empirical studies performed to expand the current knowledge about architectural erosion phenomenon and how developers deal with architectural violations. As a result, in a first exploratory study with four open source systems, besides providing empirical data that shows the architectural erosion phenomenon in an evolutionary perspective, it is also demonstrated that few entities are responsible for the majority of architectural violations. Besides that, through quantitative and qualitative analysis in three systems (Eclipse. BeeFS and epol). this thesis presents: ij a characterization of architectural rules used in practice, ii) a study on the relevance of architectural violations of such systems, and iii) a characterization of the causes of architectural violations. At last, to provide knowledge on how developers conduct discussions about design/architectural aspects, this thesis presents an analysis on 77 open source systems which shows that on average 25% of the discussions in a project mention some design aspect and that very few developers contribute to a broader range of design discussions.