An Empirical Analysis of Code Smell in Eclipse Framework Ecosystem - Kawuma, Simon; Mabberi, Enock; Sabiiti, David; Kabarungi, Moreen; Kalungi, Dickson; Nabaasa, Evarist (Journal of Software Engineering, Information and Communication Technology (SEICT), 2025)
Eclipse Framework developers claim that public APIs are supported whereas internal APIs are unsupported. However, there is no guarantee that these interfaces are well-tested because several code smells are reported by interface users. Applications that use code-smelly interfaces risk failing if the code-smell are not fixed.  Previous research revealed that not all code smells can be resolved and fixed within a short period. Thus, interface users have to fix the code smells themselves or abandon that particular interface. To avoid waiting indefinitely for solutions from interface developers or getting involved in code smell fixing, users should use code-smell-free interfaces. However, interface users may not be aware of the existence   of code smell-free interfaces in the Eclipse framework. In this research   study, we used SonarQube tool to carry out an empirical investigation on 28 major Eclipse releases to establish the existence of code-smell- free interfaces. We provide a data set of 218K and 321K code-smell-free public APIs and internal APIs classes respectively. Also, we discovered that on average, 36.1% and 57.2% of the total interfaces in a given Eclipse release are code smell-free public APIs and internal APIs respectively in all the studied Eclipse releases. Furthermore, we have discovered that the number of code smells linearly increases as the Eclipse framework evolves. The average number of code smell and technical Debt is 147K and 2,744 days in all the studied Eclipse releases.  Results from this study can be used by both interface providers and users as a starting point to know tested interfaces and also estimate efforts needed to fix code smells in Eclipse Frameworks.