Design Smells and Role-Stereotypes Classification Dataset

Published: 04-01-2021| Version 1 | DOI: 10.17632/6rtgxbsw68.1
Daniel Ogenrwot,
Joyce Nakatumba-Nabende,
Michel R.V. Chaudron


This is a fine-grained dataset of systematically integrated design smells detection and role-stereotypes classification data. The dataset was created from a modest collection of twelve (12) real-life open-source Java projects mined from GitHub. The selected projects include; SweetHome3d, Mars Simulation, ArgoUML, JEdit, GanttProject, K9 Mail, Bitcoin Wallet, KeepassDroid, Opentrip Planner, Tweet Lanes, Text Secure and Telegram. The dataset consists of 18 design smells (i.e. LongMethod, ComplexClass, LongParameterList, BaseClassShouldBeAbstract, SpeculativeGenerality, ClassDataShouldBePrivate, ManyFieldAttributesButNotComplex, MessageChain, SpaghettiCode, RefusedParentBequest, SwissArmyKnife, Blob, AntiSingleton, LargeClass and LazyClass) detected and analyzed across 2,513 Java classes. The Java classes were classified into six (6) role-stereotype taxonomy (i.e. Service Provider, Coordinator, Controller, Information Holder, Structurer and Interfacer). We also clustered the dataset into ten (10) different clusters using a Powered Outer Probabilistic Clustering algorithm. Those clusters are useful for understanding the groups of design smells that often co-occur in a particular role-stereotype category. The dataset is significant for understanding the non-innate relationship between design smells and role-stereotype. Researchers can use this dataset to investigate design smells from the “lens” of role-stereotypes software system design. ".