Veröffentlicht am
Software Engineering
3 min

Vorhersage von Expertenbewertungen in Software-Code-Reviews

Post image

Dieses Papier untersucht die Verwendung eines algorithmischen Modells zur Vorhersage von Expertenbewertungen von Software-Code-Commits, wobei der Fokus auf Aspekten liegt, die bei manuellen Code-Reviews aufgrund von Zeitbeschränkungen oft übersehen werden. Die Forschung zielt darauf ab, menschliche Reviews zu ergänzen, nicht zu ersetzen, indem automatisierte Einblicke in Bereiche wie Codierzeit, Implementierungszeit und Code-Komplexität bereitgestellt werden.

Einführung

Die Forschung zielt darauf ab, menschliche Reviews zu ergänzen, nicht zu ersetzen, indem automatisierte Einblicke in Bereiche wie Codierzeit, Implementierungszeit und Code-Komplexität bereitgestellt werden.

Methodik

Ein Random-Forest-Modell wurde auf Bewertungen von zehn Java-Experten über 70 Code-Commits trainiert, wobei Aspekte wie Code-Struktur, Qualitätsmetriken, Implementierungsdetails und architektonische Elemente abgedeckt wurden. Das Modell verwendet statische Code-Analyse, die an Git-Commits gebunden ist.

Ergebnisse

Das Modell zeigte starke Korrelationen mit menschlichen Urteilen, insbesondere für die Codierzeit (r=0,82) und die Implementierungszeit (r=0,86). Dies deutet auf das Potenzial für genaue, automatisierte Aufwandsschätzungen hin. Während das Modell für zeitbasierte Metriken effektiv war, war seine Leistung bei subjektiven Qualitäten wie Code-Wartbarkeit und Autorenerfahrung weniger robust, was die Herausforderung bei der Automatisierung dieser nuancenreichen Bewertungen unterstreicht. Dies wurde wahrscheinlich durch eine geringere Übereinstimmung zwischen den Bewertern bei diesen subjektiven Aspekten beeinflusst.

Diskussion

Die Effizienz des Modells (Sub-Sekunden-Verarbeitungszeit pro Commit) bietet erhebliche Zeitersparnisse im Vergleich zu manuellen Reviews und ermöglicht es menschlichen Reviewern, sich auf höhere Aspekte zu konzentrieren.

Fazit

Diese Forschung zeigt, dass algorithmische Modelle manuelle Code-Reviews effektiv ergänzen können, indem sie schnelle und objektive Bewertungen bestimmter Code-Merkmale liefern, insbesondere solcher, die mit dem Entwicklungsaufwand zusammenhängen. Dieser Ansatz ermöglicht es menschlichen Reviewern, sich auf komplexere und subjektivere Aspekte der Code-Qualität zu konzentrieren, was letztendlich zu einem effizienteren und umfassenderen Review-Prozess führt. Weitere Forschung ist erforderlich, um die Handhabung subjektiver Qualitäten durch das Modell zu verbessern und seine Anwendbarkeit auf andere Programmiersprachen zu erweitern.

Quelle(n):


Hat Ihnen dieser Beitrag gefallen? Fanden Sie ihn hilfreich? Hinterlassen Sie gerne einen Kommentar unten, um Ihre Gedanken mitzuteilen oder Fragen zu stellen.

Hinweis: Kommentare liegen in der Verantwortung ihrer Autoren und werden auf GraphComment verwaltet.