Evaluating Maintainability Prejudices with a Large-Scale Study of Open-Source Projects

In software engineering, relying on experience can render maintainability expertise into prejudice over time. For example, based on their own experience, some consider JavaScript as inelegant language and hence of lowest maintainability. Such prejudice should not guide decisions without prior empirical validation. Hence, we formulated 10 hypotheses about maintainability based on prejudices and test them in a large set of open-source projects (6,897 GitHub repositories, 402 million lines, 5 programming languages). We operationalize maintainability with five static analysis metrics. We found that JavaScript code is not worse than other code, Java code shows higher maintainability than C# code and C code has longer methods than other code. The quality of interface documentation is better in Java code than in other code. Code developed by teams is not of higher and large code bases not of lower maintainability. Projects with high maintainability are not more popular or more often forked. Overall, most hypotheses are not supported by open-source data.

Authors: Tobias Roehm, Daniel Veihelmann, Stefan Wagner, Elmar Jürgens

Presented by: Daniel Veihelmann
Company: CQSE GmbH

Talk language: English
Level: Advanced
Target group:

Partner 2019

ASQF e.V ATB - Austrian Testing Board CON•ECT Eventmanagement GmbH dpunkt.verlag GmbH Heise Medien GmbH & Co. KG IREB GmbH iSQI GmbH IT Verlag GmbH IT-Cluster der Business Upper Austria GmbH Österreichische Computer Gesellschaft (OCG) TU Wien, Inst f. Information Systems Eng., CDL-SQ Verband Österreichischer Software Industrie (VÖSI)