UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

Software evolution: the lifetime of fine-grained elements

Spinellis, D; Louridas, P; Kechagia, M; (2021) Software evolution: the lifetime of fine-grained elements. PeerJ Computer Science , 7 , Article e372. 10.7717/peerj-cs.372. Green open access

[thumbnail of peerj-cs-372.pdf]
Preview
Text
peerj-cs-372.pdf - Published Version

Download (2MB) | Preview

Abstract

A model regarding the lifetime of individual source code lines or tokens can estimate maintenance effort, guide preventive maintenance, and, more broadly, identify factors that can improve the efficiency of software development. We present methods and tools that allow tracking of each line’s or token’s birth and death. Through them, we analyze 3.3 billion source code element lifetime events in 89 revision control repositories. Statistical analysis shows that code lines are durable, with a median lifespan of about 2.4 years, and that young lines are more likely to be modified or deleted, following a Weibull distribution with the associated hazard rate decreasing over time. This behavior appears to be independent from specific characteristics of lines or tokens, as we could not determine factors that influence significantly their longevity across projects. The programing language, and developer tenure and experience were not found to be significantly correlated with line or token longevity, while project size and project age showed only a slight correlation.

Type: Article
Title: Software evolution: the lifetime of fine-grained elements
Open access status: An open access version is available from UCL Discovery
DOI: 10.7717/peerj-cs.372
Publisher version: https://doi.org/10.7717/peerj-cs.372
Language: English
Additional information: © 2021 Spinellis et al. This is an open access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/).
Keywords: Software evolution, Code decay, Software aging, Hazard rate, Repository mining
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery.ucl.ac.uk/id/eprint/10122051
Downloads since deposit
70Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item