@techreport{TR-IC-PFG-24-31, number = {IC-PFG-24-31}, author = {Matheus Pierre {Sforça} and Breno Bernard Nicolau {de França}}, title = {{Maintainability Analysis of Open-Source Serverless Repositories}}, month = {December}, year = {2024}, institution = {Institute of Computing, University of Campinas}, note = {In English, 35 pages. \par\selectlanguage{english}\textbf{Abstract} Serverless computing is a considerable recent paradigm in application development. This type of application aims to reduce infrastructure and development costs by abstracting the configuration needed to scale and deploy them. Also, as they are only executed when there is some demand, it promises to optimize the cost of running projects. \par As it is considered a recent paradigm, good practices and its most recommended use cases are still under research. This study examines open-source serverless applications’ structure, organization, and code quality by mining software repositories on GitHub. We also compare our findings with related work to see if we identify the same problems found in the existing literature in the area. In this study, we selected relevant open-source repositories, analyzed their content with SonarQube and internal code metrics, such as the number of functions per file, and consolidated its findings to highlight common characteristics and possible maintainability problems in this paradigm. In this study, we also discuss the limitations of this approach and propose the next steps for future research. \par In our analysis, we found out that Serverless projects are indeed smaller in terms of lines of code and usually have great indices of maintainability when checking for Code Smells. The amount of configuration needed also has great advantages by this paradigm, and it was stated a great incentive on writing focused functions with a low number of lines. However, a lack of consensus was identified regarding structuring these projects. In terms of scalability, we stated that as these applications grow in size, problems related to maintainability are more perceptible due to unused code, large functions, and infrastructure constraints that lead to poor coding practices. } }