Master Thesis MSTR-2023-74

BibliographyAbajirov, Daniel: Exploring the adoption of Java version features and their relationship to software quality on GitHub.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Master Thesis No. 74 (2023).
76 pages, english.
Abstract

The progression of software development has driven the continuous evolution of programming languages, of which Java is an example with its many major versions since 1996. With each new version, performance, usability, and robustness are improved to meet the challenges of modern software development. However, while there is an understanding of the enhancements each version brings, there is a lack of modern research on the practical benefits and impacts of these features on software quality, as well as the adoption rate of these version features. Our research utilized a combination of extensive data mining techniques and a quantitative survey approach. We analyzed 2,167 GitHub repositories spanning three major Java LTS versions (8, 11, 17). To supplement our findings, we conducted a survey involving 47 developers with varying years of experience, utilizing close-ended questions to derive quantitative insights that could be compared with our primary research results. We observed a surprising underutilization of Java built-in methods. On average, only 1.03 methods were used per KLOC. Interestingly, lower usage was observed in versions 8 to 17, while Java 6 showed significant method adoption. These results are in contrast to the survey results where developers reported high usage of Java built-in methods. Furthermore, we found that the impact on software quality, as measured by the number of bugs and code smells per KLOC, was minimal. Domain selection also does not appear to have a significant impact on the use of Java built-in methods. The divergence between the practices in open-source projects on GitHub and developers’ perceptions indicates a layered complexity in software development practices. Our study underscores a need for increased awareness and targeted strategies to fully harness the evolving capabilities of Java versions.

Full text and
other links
Volltext
Department(s)University of Stuttgart, Institute of Software Technology, Empirical Software Engineering
Superviser(s)Wagner, Prof. Stefan; Bogner, Dr. Justus; Habiba, Umm-E
Entry dateFebruary 20, 2024
   Publ. Computer Science