arrow
返回

PHP code smells in web apps: Evolution, survival and anomalies

delete2023-06-01
delete4
delete
OA
AI
A
Américo Rio *
F
Fernando Brito e Abreu
DOI:10.1016/j.jss.2023.111644delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
Context: Code smells are symptoms of poor design, leading to future problems, such as reduced maintainability. Therefore, it becomes necessary to understand their evolution and how long they stay in code. This paper presents a longitudinal study on the evolution and survival of code smells (CS) for web apps built with PHP, the most widely used server-side programming language in web development and seldom studied.Objectives: We aimed to discover how CS evolve and what is their survival/lifespan in typical PHP web apps. Does CS survival depend on their scope or app life period? Are there sudden variations (anomalies) in the density of CS through the evolution of web apps? Method: We analyzed the evolution of 18 CS in 12 PHP web applications and compared it with changes in app and team size. We characterized the distribution of CS and used survival analysis techniques to study CS' lifespan. We specialized the survival studies into localized (specific location) and scattered CS (spanning multiple classes/methods) categories. We further split the observations for each web app into two consecutive time frames. As for the CS evolution anomalies, we standardized their detection criteria.Results: The CS density trend along the evolution of PHP web apps is mostly stable, with variations, and correlates with the developer's numbers. We identified the smells that survived the most. CS live an average of about 37% of the life of the applications, almost 4 years on average in our study; around 61% of CS introduced are removed. Most applications have different survival times for localized and scattered CS, and localized CS have a shorter life. The CS survival time is shorter and more CS are introduced and removed in the first half of the life of the applications. We found anomalies in the evolution of 5 apps and show how a graphical representation of sudden variations found in the evolution of CS unveils the story of a development project. Conclusion: CS stay a long time in code. The removal rate is low and did not change substantially in recent years. An effort should be made to avoid this bad behavior and change the CS density trend to decrease.(c) 2023 The Author(s). Published by Elsevier Inc. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/).
Keyword:
Code smells
PHP
Software evolution
Survival
Web apps
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

Journal of Systems and Software 封面图
Journal of Systems and Software
IF:
4.1
论文数:
5.5K
被引数:
8.4K

机构

I
instituto universitario de lisboa
学者数:
1.6K
论文数: 1.8K
被引数: 2
引用论文

引用论文

Performance Analysis of Variable Mode Adsorption Chiller at Different Recooling Water Temperatures
err2021-06-27
err0
errOAAI
errAhmad A. Alsarayreh; Ayman Al-Maaitah; Menwer Attarakih; Hans-Jörg Bart
err分享
err收藏
Studying the evolution of PHP web applications
err2016-04-01
err24
PREAI
errAmanatidis, Theodoros; Chatzigeorgiou, Alexander
err分享
err收藏
The relation relation between technical debt and corrective maintenance in PHP web applications
err2017-10-01
err15
errOAAI
errAmanatidis, Theodoros; Chatzigeorgiou, Alexander; Ampatzoglou, Apostolos
err分享
err收藏
Osteosarcoma at the Site of a Previously Treated Aneurysmal Bone Cyst
err2005-02-01
err0
PREAI
errChia-Chen Hsu; Jun-Wen Wang; Cheng-Hua Huang; Wei-Jen Chen
err分享
err收藏
Are architectural smells independent from code smells? An empirical study
err2019-08-01
err36
errOAAI
errFontana, Francesca Arcelli; Lenarduzzi, Valentina; Roveda, Riccardo; Taibi, Davide
err分享
err收藏
学者 查看更多内容