Software evolution: the lifetime of fine-grained elements
Autor: | Panos Louridas, Maria Kechagia, Diomidis Spinellis |
---|---|
Jazyk: | angličtina |
Rok vydání: | 2021 |
Předmět: |
Source code
General Computer Science Computer science media_common.quotation_subject Code decay 02 engineering and technology Hazard rate Security token lcsh:QA75.5-76.95 020204 information systems 0202 electrical engineering electronic engineering information engineering Code (cryptography) Weibull distribution media_common business.industry Software development Software evolution Software Engineering 020207 software engineering Preventive maintenance Software aging Reliability engineering Repository mining Programming Languages lcsh:Electronic computers. Computer science business |
Zdroj: | PeerJ Computer Science, Vol 7, p e372 (2021) PeerJ Computer Science PeerJ Computer Science, 7 |
ISSN: | 2376-5992 |
Popis: | 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. |
Databáze: | OpenAIRE |
Externí odkaz: |