Author:
Kawuma Simon, ,Nabaasa Evarist,Sabiiti David Bamutura,Mabirizi Vincent, , ,
Abstract
The Eclipse framework is a popular and widely used framework that has been evolving for over a decade. The framework provides both stable interfaces (APIs) and unstable interfaces (non-APIs). Despite being discouraged by Eclipse, application developers often use non-APIs which cause their systems to fail when ported to new framework releases. Previous studies showed that applications using relatively old non-APIs are more likely to be compatible with new releases compared to the ones that used newly introduced non-APIs. Furthermore, from our previous study about the stability of Eclipse internal interfaces, we discovered that there exist 327K stable non-API methods as the Eclipse framework evolves. In the same study, we recommended that 327K stable non-API methods can be used by Eclipse interface providers as possible candidates for promotion to stable interfaces. However, since non-APIs are unsupported and considered to be immature i.e., can contain bugs, to this end there exist a need to first investigate the stable non-APIs for possible bugs before they can be promoted to APIs. In this study, we empirically investigated the stable non-API for possible bugs using Sonarqube software quality tool. We discovered that over 79.8% classes containing old stable non-APIs methods have zero bugs. Results from this study can be used by both interface providers and users as a starting point to analyze which interfaces are well tested and also estimate how much work could be involved when performing bug fixing for a given eclipse release.
Publisher
Lattice Science Publication (LSP)
Reference40 articles.
1. T. Tourwe, T. Mens, Automated support for framework-based software, in: International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings., 2003, pp. 148-157. doi:10.1109/ICSM.2003.1235416. https://doi.org/10.1109/ICSM.2003.1235416
2. D. Konstantopoulos, J. Marien, M. Pinkerton, E. Braude, Best principles in the design of shared software, in: Proceedings of the 2009 33rd Annual IEEE International Computer Software and Applications Conference - Volume 02, COMPSAC '09, IEEE Computer Society, Washington, DC, USA, 2009, pp. 287-292. doi:10.1109/COMPSAC.2009.151. URL http://dx.doi.org/10.1109/COMPSAC.2009.151
3. S. Moser, O. Nierstrasz, The effect of object-oriented frame¬works on developer productivity, Computer 29 (9) (1996) 45-51. doi:10.1109/2.536783. https://doi.org/10.1109/2.536783
4. J. des Rivie'res, How to use the Eclipse API, http://www.eclipse.org/articles/article.php?file=Article-API-Use/ index.html, consulted January, 2018.
5. Oracle, Why developers should not write programs that call 'sun' packages, https://www.oracle.com/technetwork/java/ faq-sun-packages-142232.html, consulted October, 2018.