Analysis of Code Smells and Anomalies in Modern Web Software

Detta är en Kandidat-uppsats från Blekinge Tekniska Högskola/Institutionen för programvaruteknik

Författare: Elias Cherkaoui; [2023]

Nyckelord: Code anomalies; smells; refactoring;

Sammanfattning: Code anomalies, also known as code smells, are any characteristics in software code that indicate amore severe problem exists deep in the code. These anomalies do not always prevent a system fromfunctioning, but they can restrict development and increase the difficulty of maintaining the software.The idea of code anomalies in conventional software is the subject of many research papers. However,very few explicitly examine web application anomalies and offer solutions to web applicationanomalies. Additionally, there aren't enough studies looking at whether anomalies found inconventional software systems can also be found in web applications. Web application code anomaliesmay potentially differ from traditional software systems in a few ways. For instance, web applicationshave a client-server architecture that can create unique challenges for communication between theclient and server. This may result in code anomalies that relate to network delays or resource-intensiveoperations. Additionally, web applications often rely on third-party libraries and frameworks, whichcan introduce additional code anomalies. This study aims to fill the gaps mentioned above byinvestigating code anomalies in web applications using a systemic mapping study. This study usessystematic mapping to collect and analyze literature through predefined criteria and procedures.Furthermore, this study provides an overview of approaches and tools that can identify and detectanomalies, determine where code anomalies occur, and whether refactoring has been considered. Theresults of this study show that there’s a wide array of techniques to detect anomalies, code anomaliesoccur everywhere. Refactoring is a technique to solve code anomalies and while there are alreadymany refactoring techniques cataloged for traditional software, there is a lack of refactoringsspecifically cataloged for web applications.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)