Rogério Eduardo Garcia

SE
3papers
2citations
Novelty13%
AI Score16

3 Papers

SEOct 18, 2023Code
A comprehensible analysis of the efficacy of Ensemble Models for Bug Prediction

Ingrid Marçal, Rogério Eduardo Garcia

The correctness of software systems is vital for their effective operation. It makes discovering and fixing software bugs an important development task. The increasing use of Artificial Intelligence (AI) techniques in Software Engineering led to the development of a number of techniques that can assist software developers in identifying potential bugs in code. In this paper, we present a comprehensible comparison and analysis of the efficacy of two AI-based approaches, namely single AI models and ensemble AI models, for predicting the probability of a Java class being buggy. We used two open-source Apache Commons Project's Java components for training and evaluating the models. Our experimental findings indicate that the ensemble of AI models can outperform the results of applying individual AI models. We also offer insight into the factors that contribute to the enhanced performance of the ensemble AI model. The presented results demonstrate the potential of using ensemble AI models to enhance bug prediction results, which could ultimately result in more reliable software systems.

SEFeb 11, 2020
Analyzing the Rework Time and Severity of Code Debt: A Case Study Using Technical Debt Catalogs

Bruno Santos de Lima, Rogério Eduardo Garcia

This paper presents a case study analyzing Hibernate ecosystem software projects to investigate and demonstrate Code Debt behavior in relation to severity and rework time. The case study carried out revealed that the Code Debt with severity related to impact on software maintenance is the most representative and has the largest rework times to be paid in the Hibernate ecosystem. Besides, it was found that the distributions of rework times of Code Debt for all severities undergo variations in the initial versions of the development.

SESep 9, 2019
Learning and Suggesting Source Code Changes from Version History: A Systematic Review

Leandro Ungari Cayres, Bruno Santos de Lima, Rogério Eduardo Garcia

Context: Software systems are in continuous evolution through source code changes to fixing bugs, adding new functionalities and improving the internal architecture. All these practices are recorded in the version history, which can be reused as an advantage in the development process. Objective: This paper aims to investigate approaches and techniques related to the learning of source code changes, since the change identification step, learning, and reuse in recommending strategies. Method: We conducted a systematic review related to primary studies about source code changes. The search approach identified 2410 studies, up to and including 2012, which resulted in a final set of 39 selected papers. We grouped the studies according to each established research question. This review investigates how source code changes, which were performed in the past of software, can support the improvement of the software project. Results: The majority of approaches and techniques have used repetitiveness behavior of source code changes to identify structural or metrics patterns in software repositories, trough the evaluation of sequences of versions. To extract the structural patterns, the approaches have used programming-by-example techniques to differencing source code changes. In quality metrics analysis, the studies have applied mainly complexity and object-oriented metrics. Conclusion: The main implication of this review is that source code changes as examples, to support the improvement of coding practice during the development process, in which we presented some relevant strategies to guide each step, since identifying until the suggesting of source code changes.