Mário André de Freitas Farias
Federal University of Bahia
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Mário André de Freitas Farias.
2015 IEEE 7th International Workshop on Managing Technical Debt (MTD) | 2015
Mário André de Freitas Farias; Manoel Gomes de Mendonça Neto; André Batista da Silva; Rodrigo O. Spínola
The identification of technical debt (TD) is an important step to effectively manage it. In this context, a set of indicators has been used by automated approaches to identify TD items, but some debt may not be directly identified using only metrics collected from the source code. In this work we propose CVM-TD, a model to support the identification of technical debt through code comment analysis. We performed an exploratory study on two large open sources projects with the goal of characterizing the feasibility of the proposed model to support the detection of TD through code comments analysis. The results indicate that (1) developers use the dimensions considered by CVM-TD when writing code comments, (2) CVM-TD provides a vocabulary that may be used to detect TD items, and (3) the proposed model needs to be calibrated in order to reduce the difference between comments returned by the vocabulary and those that may indicate a TD item. Code comments analysis can be used to detect TD in software projects and CVM-TD may support the development team to perform this task.
mining software repositories | 2010
Methanias Colaco Junior; Manoel G. Mendonça; Mário André de Freitas Farias; Paulo Henrique
Open Source Software (OSS) mailing lists are used by developers to discuss software engineering tasks performed in the project. In the last years, researchers have been conducting mailing lists linguistic analyses for understanding the intricacies of OSS development. An unpublished approach for that is to use NeuroLinguistic Theory (NT). NT postulates the use of a Preferred Representational cognitive System (PRS) in specific contexts. This means that different resources and cognitive channels are used by developers in order to understand software, but what types of representational systems are the preferred by software engineers? This paper introduces a psychometrically-based neuro-linguistic analysis tool to classify developers, and presents early results of an experiment to assess the PRS of four top developers against a baseline of the Apache server mailing list.
acm symposium on applied computing | 2016
Thiago Souto Mendes; Mário André de Freitas Farias; Manoel G. Mendonça; Henrique Frota Soares; Marcos Kalinowski; Rodrigo O. Spínola
Documentation debt is a type of technical debt that describes problems in documentation such as missing, inadequate or incomplete artifacts. Unlike traditional methods, agile methodologies usually employ short iterative cycles and rely on tacit knowledge within a team. In particular, Agile Requirements (AR) (e.g., user stories) tend to reduce the focus on requirements specification activities. This scenario contributes to the occurrence of documentation debt. The goal of this paper is to investigate the impact that this type of debt brings to projects developed by using AR. We address this goal by performing a retrospective study in a real software project that used AR in its development. Our analysis was concentrated on data from 132 maintenance and evolution tasks. Of this total, 65 were related to the presence of documentation debt and were performed within a timeframe of 18 months. The findings indicated an extra maintenance effort of about 47% of the total effort estimated for developing the project and an extra cost of about 48% of the initial cost of the development phase.
acm symposium on applied computing | 2016
Mário André de Freitas Farias; Renato Lima Novais; Methanias Colaço Júnior; Luis Paulo da Silva Carvalho; Manoel G. Mendonça; Rodrigo O. Spínola
Background: Software repositories provide large amount of data encompassing software changes throughout its evolution. Those repositories can be effectively used to extract and analyze pertinent information and derive conclusions related to the software history or its current snapshot. Objective: This work aims to investigate recent studies on Mining Software Repositories (MSR) approaches collecting evidences about software analysis goals (purpose, focus, and object of analysis), data sources, evaluation methods, tools, and how the area is evolving. Method: A systematic mapping study was performed to identify and analyze research on mining software repositories by analyzing five editions of Working Conference on Mining Software Repositories -- the main conference on this area. Results: MSR approaches have been used for many different goals, mainly for comprehension of defects, analysis of the contribution and behavior of developers, and software evolution comprehension. Besides, some gaps were identified with respect to their goals, focus, and data source type (e.g. lack of usage of comments to identify smells, refactoring, and issues of software quality). Regarding the evaluation method, our analysis pointed out to an extensive usage of some types of empirical evaluation. Conclusion: Studies of the MSR have focused on different goals, however there are still many research opportunities to be explored and issues associated with MSR that should be considered.
international conference on enterprise information systems | 2016
Leilane Ferreira Ribeiro; Mário André de Freitas Farias; Manoel G. Mendonça; Rodrigo O. Spínola
The term Technical Debt (TD) is used to describe the debt that a development team incurs when it takes shortcuts in the software development process, but that may increase the complexity and maintenance cost in the long-term. If a development team does not manage TD, this debt can cause significant long-term problems such as high maintenance costs. An important goal of the management of the debt is to evaluate the appropriate time to pay a TD item and to effectively apply decision-making criteria to balance the short-term benefits against long-term costs. However, although there are different studies that have proposed strategies for the management of TD, decision criteria are often discussed in the background and, sometimes, they are not even mentioned. Thus, the purpose of this work is to identify, by performing a systematic mapping study of the literature, decision-making criteria that have been proposed to support the management of TD. We identified 14 decision-making criteria that can be used by development teams to prioritize the payment of TD items and a list of types of debt related to the criteria. In addition, the results show possible gaps where further research may be performed.
international conference on enterprise information systems | 2016
Mário André de Freitas Farias; José Amancio M. Santos; André Batista da Silva; Marcos Kalinowski; Manoel G. Mendonça; Rodrigo O. Spínola
In order to effectively manage technical debt (TD), a set of indicators has been used by automated approaches to identify TD items. However, some debt may not be directly identified using only metrics collected from the source code. CVM-TD is a model to support the identification of technical debt by considering the developer point of view when identifying TD through code comment analysis. In this paper, we analyze the use of CVM-TD with the purpose of characterizing factors that affect the accuracy of the identification of TD. We performed a controlled experiment investigating the accuracy of CVM-TD and the influence of English skills and developer experience factors. The results indicated that CVM-TD provided promising results considering the accuracy values. English reading skills have an impact on the TD detection process. We could not conclude that the experience level affects this process. Finally, we also observed that many comments suggested by CVM-TD were considered good indicators of TD. The results motivate us continuing to explore code comments in the context of TD identification process in order to improve CVM-TD.
international conference on enterprise information systems | 2016
Mário André de Freitas Farias; José Amancio M. Santos; Marcos Kalinowski; Manoel G. Mendonça; Rodrigo O. Spínola
In order to effectively manage technical debt (TD), a set of indicators has been used by automated approaches to identify TD items. However, some debt items may not be directly identified using only metrics collected from the source code. CVM-TD is a model to support the identification of technical debt by considering the developer point of view when identifying TD through code comment analysis. In this paper, we investigate the use of CVM-TD with the purpose of characterizing factors that affect the accuracy of the identification of TD, and the most chosen patterns by participants as decisive to indicate TD items. We performed a controlled experiment investigating the accuracy of CVM-TD and the influence of English skills and developer experience factors. We also investigated if the contextualized vocabulary provided by CVM-TD points to candidate comments that are considered indicators of technical debt by participants. The results indicated that CVM-TD provided promising results considering the accuracy values. English reading skills have an impact on the TD detection process. We could not conclude that the experience level affects this process. We identified a list of the 20 most chosen patterns by participants as decisive to indicate TD items. The results motivate us continuing to explore code comments in the context of TD identification process in order to improve CVM-TD.
Proceedings of the 17th Brazilian Symposium on Software Quality - SBQS | 2018
Amanda F. de O. Passos; Mário André de Freitas Farias; Manoel Gomes de Mendonça Neto; Rodrigo O. Spínola
Context: The TD concept reflects the challenging decisions that developers and managers need to take to achieve short-term benefits to keep the customers satisfied and to survive in a competitive market. The identification of technical debt (TD) is an important step to effectively manage TD items and make TD manageable and explicit to keep the amount of TD under control. Researchers have developed automated approaches to identify TD items using indicators derived from source code metrics. However, those indicators do not always point to TD that developer teams consider real problems and cannot identify many types of relevant TD. Objective: This work seeks to identify comment patterns and their relationships which can support the identification process of documentation and requirement debts. Method: We performed a qualitative and quantitative analysis to investigate acceptable patterns of comments which indicate the existence of documentation and requirement debts. Results: We classify factors which can impact on the detection automated of documentation and requirement debts. Besides, the performed study provided a set of new patterns to detect documentation and requirement debts. Conclusion: This research contributes to bridge the gap between the TD identification area and code comment analysis, successfully using code comments to detect documentation and requirement debts.
international conference on enterprise information systems | 2017
José Jorge Barreto Torres; Methanias Colaço Júnior; Mário André de Freitas Farias
Open Source Software (OSS) repositories are widely used to execute studies around code clone detection, mostly inside the public scenario. However, corporative code Repositories have their content restricted and protected from access by developers who are not part of the company. Besides, there are a lot of questions regarding paradigm efficiency and its relation to clone manifestation. This article presents an experiment performed on systems developed in a large private education company, to observe and compare the incidence of cloned code between Object Oriented and Procedural proprietary software, using an exact similarity threshold. The results indicate that Object Oriented Software wondrously showed higher cloned lines of code incidence and a similar use of abstraction (clone sets) for functions or methods.
international conference on software engineering advances | 2012
Methanias Colaço Júnior; Manoel G. Mendonça; Mário André de Freitas Farias; Paulo Henrique; Daniela Corumba