Code smell detection in Model-View-Controller applications: a case study on the Unified Public Administration System
Software architecture, code smell
The software architecture includes a set of design decisions, generally taken before implementation, with the aim of promoting benefits to the system. However, the absence of formalization of this architecture facilitates the insertion of violations to its rules, causing architectural problems that negatively impact the maintenance and evolution of the software. The literature points to several ways of identifying architectural problems, and the identification of code smells that reach a specific architectural pattern is one of the approaches presented. In this sense, this work investigates the detection of architectural code smells related to the Model-Template-View (MTV) architectural standard. This dissertation aims to support the detection of architectural code smells in systems that follow the MTV architecture by defining a smells catalog and implementing MTV Checker, a tool of static analysis to automate the process of detecting code smells MTV. This tool will be validated in the context of the Sistema Unificado de Administração Pública.