Show simple item record

dc.contributor.authorOgenrwot, Daniel
dc.date.accessioned2021-03-19T07:21:46Z
dc.date.available2021-03-19T07:21:46Z
dc.date.issued2021-03
dc.identifier.citationOgenrwot, D. (2021). Using machine learning to understand the association of design smells with role-stereotypes in software systems (Unpublished master’s dissertation). Makerere University, Kampala, Uganda.en_US
dc.identifier.urihttp://hdl.handle.net/10570/8195
dc.descriptionA dissertation submitted to the Director of Research and Graduate Training for the award of the Degree of Master of Science in Computer Science of Makerere University.en_US
dc.description.abstractWhile developing software systems, poor design and implementation choices can negatively affect the maintainability of software systems. There are recurring patterns of poorly designed (fragments of) software systems - these are referred to as design smells. Role-stereotypes indicate generic responsibilities that classes play in system design. Although the concepts of role-stereotypes and design smells are widely divergent, both are significant contributors to the design and maintenance of software systems. This work presents an exploratory study approach based on a combination of statistical analysis and unsupervised learning methods to understand the relation between design smells with role-stereotypes and how this relationship varies across different desktop and mobile applications. The study was performed on a dataset consisting of twelve (12) Java projects mined from GitHub. The findings indicate that three (3) out of six (6) role-stereotypes considered in this study are more prone to design smells. In addition, we found that design smells are more frequent in desktop applications than in mobile applications especially the Service Provider and Information Holder role-stereotypes. Based on unsupervised learning, it was observed that some pairs or groups of role-stereotypes are prone to similar types of design smells as compared to others. We believe that this relationship may be associated with the characteristic and collaborative properties between role-stereotypes. Additionally, the aforementioned clustering technique revealed which groups of design smells often co-occur. Specifically, {SpeculativeGenerality, Swis-sArmyKnife} and {LongParameterList, ClassDataShouldBePrivate} are observed to occur frequently together in desktop and mobile applications. Therefore, this study provides important insights on this previously concealed behaviour about the relation between design smells with role-stereotypes.en_US
dc.description.sponsorshipMak-Sida Project 381en_US
dc.language.isoenen_US
dc.publisherMakerere Universityen_US
dc.subjectSoftware designen_US
dc.subjectRole-stereotypeen_US
dc.subjectDesign smellsen_US
dc.subjectSoftware qualityen_US
dc.subjectDesktop applicationen_US
dc.subjectMobile applicationen_US
dc.titleUsing machine learning to understand the association of design smells with role-stereotypes in software systemsen_US
dc.typeThesisen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record