Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen:
http://dx.doi.org/10.18419/opus-13851
Autor(en): | Abajirov, Daniel |
Titel: | Exploring the adoption of Java version features and their relationship to software quality on GitHub |
Erscheinungsdatum: | 2023 |
Dokumentart: | Abschlussarbeit (Master) |
Seiten: | 76 |
URI: | http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-138701 http://elib.uni-stuttgart.de/handle/11682/13870 http://dx.doi.org/10.18419/opus-13851 |
Zusammenfassung: | Die Fortschritte in der Softwareentwicklung haben die kontinuierliche Evolution von Programmiersprachen vorangetrieben, wobei Java ein Beispiel mit seinen vielen Hauptversionen seit 1996 ist. Mit jeder neuen Version werden Leistung, Benutzerfreundlichkeit und Robustheit verbessert, um den Herausforderungen der modernen Softwareentwicklung gerecht zu werden. Es gibt jedoch, obwohl ein Verständnis für die Verbesserungen, die jede Version mit sich bringt, vorliegt, einen Mangel an moderner Forschung über die praktischen Vorteile und Auswirkungen dieser Funktionen auf die Softwarequalität sowie die Adoptionsrate dieser Versionsfunktionen.
Unsere Forschung nutzte eine Kombination aus umfangreichen Data-Mining-Techniken und einem quantitativen Umfrageansatz. Wir analysierten 2.167 GitHub-Repositories, die drei wichtige Java-LTS-Versionen (8, 11, 17) umspannen. Um unsere Ergebnisse zu ergänzen, führten wir eine Umfrage mit 47 Entwicklern mit unterschiedlichen Berufsjahren durch, wobei wir geschlossene Fragen verwendeten, um quantitative Erkenntnisse abzuleiten, die mit unseren primären Forschungsergebnissen verglichen werden konnten.
Wir beobachteten eine überraschende Unterbenutzung von Java-eigenen Methoden. Im Durchschnitt wurden nur 1,03 Methoden pro KLOC verwendet. Interessanterweise wurde eine geringere Nutzung in den Versionen 8 bis 17 beobachtet, während Java 6 eine signifikante Methodenadoption zeigte. Diese Ergebnisse stehen im Gegensatz zu den Umfrageergebnissen, in denen Entwickler eine hohe Nutzung von Java-eigenen Methoden berichteten.
Darüber hinaus fanden wir heraus, dass die Auswirkungen auf die Softwarequalität, gemessen an der Anzahl von Bugs und Code Smells pro KLOC, minimal waren. Die Auswahl des Anwendungsgebiets scheint auch keinen signifikanten Einfluss auf die Verwendung von Java-eigenen Methoden zu haben.
Die Diskrepanz zwischen den Praktiken in Open-Source-Projekten auf GitHub und den Wahrnehmungen der Entwickler weist auf eine geschichtete Komplexität in den Softwareentwicklungspraktiken hin. Unsere Studie unterstreicht die Notwendigkeit eines erhöhten Bewusstseins und gezielter Strategien, um die sich entwickelnden Fähigkeiten von Java-Versionen voll auszuschöpfen. 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. |
Enthalten in den Sammlungen: | 05 Fakultät Informatik, Elektrotechnik und Informationstechnik |
Dateien zu dieser Ressource:
Datei | Beschreibung | Größe | Format | |
---|---|---|---|---|
MasterThesisDanielAbajirov.pdf | 1,04 MB | Adobe PDF | Öffnen/Anzeigen |
Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.