05 Fakultät Informatik, Elektrotechnik und Informationstechnik
Permanent URI for this collectionhttps://elib.uni-stuttgart.de/handle/11682/6
Browse
1 results
Search Results
Item Open Access Exploring the adoption of Java version features and their relationship to software quality on GitHub(2023) Abajirov, DanielDie 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.