PHP code smells in web apps

Bibliographic Details
Main Author: Rio, Américo
Publication Date: 2023
Other Authors: Abreu, Fernando Brito e
Format: Article
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/10362/150482
Summary: Rio, A., & Abreu, F. B. E. (2023). PHP code smells in web apps: Evolution, survival and anomalies. Journal of Systems and Software, 200, 1-23. [111644]. https://doi.org/10.1016/j.jss.2023.111644 ---%ABS2%
id RCAP_30bccdcdf899fc9111b71c79e76ccfe0
oai_identifier_str oai:run.unl.pt:10362/150482
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling PHP code smells in web appsEvolution, survival and anomaliesCode smellsPHPSoftware evolutionSurvivalWeb appsSoftwareInformation SystemsHardware and ArchitectureRio, A., & Abreu, F. B. E. (2023). PHP code smells in web apps: Evolution, survival and anomalies. Journal of Systems and Software, 200, 1-23. [111644]. https://doi.org/10.1016/j.jss.2023.111644 ---%ABS2%Abstract 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.NOVA Information Management School (NOVA IMS)RUNRio, AméricoAbreu, Fernando Brito e2023-03-13T22:26:35Z2023-06-012023-06-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/article23application/pdfhttp://hdl.handle.net/10362/150482eng0164-1212PURE: 55515073https://doi.org/10.1016/j.jss.2023.111644info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-12-30T01:34:11Zoai:run.unl.pt:10362/150482Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T17:40:13.460948Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv PHP code smells in web apps
Evolution, survival and anomalies
title PHP code smells in web apps
spellingShingle PHP code smells in web apps
Rio, Américo
Code smells
PHP
Software evolution
Survival
Web apps
Software
Information Systems
Hardware and Architecture
title_short PHP code smells in web apps
title_full PHP code smells in web apps
title_fullStr PHP code smells in web apps
title_full_unstemmed PHP code smells in web apps
title_sort PHP code smells in web apps
author Rio, Américo
author_facet Rio, Américo
Abreu, Fernando Brito e
author_role author
author2 Abreu, Fernando Brito e
author2_role author
dc.contributor.none.fl_str_mv NOVA Information Management School (NOVA IMS)
RUN
dc.contributor.author.fl_str_mv Rio, Américo
Abreu, Fernando Brito e
dc.subject.por.fl_str_mv Code smells
PHP
Software evolution
Survival
Web apps
Software
Information Systems
Hardware and Architecture
topic Code smells
PHP
Software evolution
Survival
Web apps
Software
Information Systems
Hardware and Architecture
description Rio, A., & Abreu, F. B. E. (2023). PHP code smells in web apps: Evolution, survival and anomalies. Journal of Systems and Software, 200, 1-23. [111644]. https://doi.org/10.1016/j.jss.2023.111644 ---%ABS2%
publishDate 2023
dc.date.none.fl_str_mv 2023-03-13T22:26:35Z
2023-06-01
2023-06-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/article
format article
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10362/150482
url http://hdl.handle.net/10362/150482
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 0164-1212
PURE: 55515073
https://doi.org/10.1016/j.jss.2023.111644
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 23
application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833596878722170880