The effect of multiple developers on structural attributes: A Study based on java software

•Our study analyzes the relationship between developers and structural attributes of Java classes.•The relationship between OO attributes changes when more developers work on Java classes.•The OO attributes show also increasing values as long as more developers work on the classes.•Less experienced...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:The Journal of systems and software 2020-09, Vol.167, p.110593, Article 110593
Hauptverfasser: Capiluppi, Andrea, Ajienka, Nemitari, Counsell, Steve
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:•Our study analyzes the relationship between developers and structural attributes of Java classes.•The relationship between OO attributes changes when more developers work on Java classes.•The OO attributes show also increasing values as long as more developers work on the classes.•Less experienced developers tend to decrease the structural quality of Java classes.•Finally we show actionable results using 4 qualitative case studies. Long-term software projects employ different software developers who collaborate on shared artifacts. The accumulation of changes pushed by different developers leave traces on the underlying code, that have an effect on its future maintainability, and even reuse. This study focuses on the how the changes by different developers might have an impact on the code: we investigate whether the work of multiple developers, and their experience, have a visible effect on the structural metrics of the underlying code. We consider nine object-oriented (OO) attributes and we measure them in a GitHub sample containing the top 200 ‘forked’ projects. For each of their classes, we evaluated the number of distinct developers contributing to its source code, and their experience in the project. We show that the presence of multiple developers working on the same class has a visible effect on the chosen OO metrics, and often in the opposite direction to what the guidelines for each attribute suggest. We also show how the relative experience of developers in a project plays an important role in the distribution of those metrics, and the future maintenance of the Java classes. Our results show how distributed development has an effect on the structural attributes of a software system and how the experience of developers plays a fundamental role in that effect. We also discover workarounds and best practices in 4 applied case studies.
ISSN:0164-1212
1873-1228
DOI:10.1016/j.jss.2020.110593