Demo Data from EDBT 2026 / reviewers in the wild / expert
Marcos César de Oliveira 0001
dblp:23/10096
· DBLP profile ↗
4ranked-venue papers
2as first author
0since 2021 · last 2020
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 2 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
1 paper |
Software maintenance and evolution · 70% Requirements engineering and software design · 30% |
Topics — the 4 heaviest of 4, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software maintenance and evolution
refactoring |
0.3 | 1 | 2017 | DRACO: discovering refactorings that improve architecture using fine-grained co-change dependencies · ESEC/SIGSOFT FSE 2017 |
Software maintenance and evolution › refactoring
refactoring recommendation |
0.3 | 1 | 2017 | DRACO: discovering refactorings that improve architecture using fine-grained co-change dependencies · ESEC/SIGSOFT FSE 2017 |
Requirements engineering and software design
software architecture |
0.3 | 1 | 2017 | DRACO: discovering refactorings that improve architecture using fine-grained co-change dependencies · ESEC/SIGSOFT FSE 2017 |
Software maintenance and evolution
software dependencies |
0.1 | 1 | 2017 | DRACO: discovering refactorings that improve architecture using fine-grained co-change dependencies · ESEC/SIGSOFT FSE 2017 |
Methods — techniques the papers use, named apart from their topics
graph comparison · 0.3co-change clustering · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | How (Not) to Find Bugs: The Interplay Between Merge Conflicts, Co-Changes, and BugsabstractContext: In a seminal work, Ball et al. [1] investigate if the information available in version control systems could be used to predict defect density, arguing that practitioners and researchers could better understand errors "if [our] version control system could talk". In the meanwhile, several research works have reported that conflict merge resolution is a time consuming and error-prone task, while other contributions diverge about the correlation between co-change dependencies and defect density. Problem: The correlation between conflicting merge scenarios and bugs has not been addressed before, whilst the correlation between co-change dependencies and bug density has been only investigated using a small number of case studies-which can compromise the generalization of the results. Goal: To address this gap in the literature, this paper presents the results of a comprehensive study whose goal is to understand whether or not (a) conflicting merge scenarios and (b) co-change dependencies are good predictors for bug density. Method: We first build a curated dataset comprising the source code history of 29 popular Java Apache projects and leverage the SZZ algorithm to collect the sets of bug-fixing and bug-introducing commits. We then combine the SZZ results with the set of past conflicting merge scenarios and co-change dependencies of the projects. Finally, we use exploratory data analysis and machine learning models to understand the strength of the correlation between conflict resolution and co-change dependencies with defect density. Findings: (a) conflicting merge scenarios are not more prone to introduce bugs than regular commits, (b) there is a negligible to a small correlation between co-change dependencies and defect density-contradicting previous studies in the literature. Luis Henrique Vieira Amaral, Marcos César de Oliveira 0001, Welder Pinheiro Luz, José Fortes Neto, Rodrigo Bonifácio, Daniel Alencar, Eduardo Monteiro, Gustavo Pinto 0001, David Lo 0001 |
ICSME | 2 |
| 2020 | DCT: An Scalable Multi-Objective Module Clustering ToolabstractMaintaining complex software systems is a time-consuming and challenging task. Practitioners must have a general understanding of the system's decomposition and how the system's developers have implemented the software features (probably cutting across different modules). Re-engineering practices are imperative to tackle these challenges. Previous research has shown the benefits of using software module clustering (SMC) to aid developers during re-engineering tasks (e.g., revealing the architecture of the systems, identifying how the concerns are spread among the modules of the systems, recommending refactorings, and so on). Nonetheless, although the literature on software module clustering has substantially evolved in the last 20 years, there are just a few tools publicly available. Still, these available tools do not scale to large scenarios, in particular, when optimizing multi-objectives. In this paper we present the Draco Clustering Tool (DCT), a new software module clustering tool. DCT design decisions make multi-objective software clusterization feasible, even for software systems comprising up to 1,000 modules. We report an empirical study that compares DCT with other available multi-objective tool (HD-NSGA-II), and both DCT and HD-NSGA-II with mono-objective tools (BUNCH and HD-LNS). We evidence that DCT solves the scalability issue when clustering medium size projects in a multi-objective mode. In a more extreme case, DCT was able to cluster Druid (an analytics data store) 221 times faster than HD-NSGA-II. Ana Paula M. Tarchetti, Luis Henrique Vieira Amaral, Marcos César de Oliveira 0001, Rodrigo Bonifácio, Gustavo Pinto 0001, David Lo 0001 |
SCAM | 3 |
| 2019 | Finding needles in a haystack: Leveraging co-change dependencies to recommend refactorings
Marcos César de Oliveira 0001, Davi Freitas, Rodrigo Bonifácio, Gustavo Pinto 0001, David Lo 0001 |
J. Syst. Softw. | 1 |
| 2017 | DRACO: discovering refactorings that improve architecture using fine-grained co-change dependenciesabstractCo-change dependencies arise whenever two source code entities, such as classes, methods, or fields, change frequently together. Similar to other kinds of software dependencies, it is possible to build software clusters from co-change relationships and, as such, previous studies explored the use of this kind of dependency in several software engineering tasks, such as predicting software faults, recommending related source code changes, and assessing software modularity. In this ongoing work, our goal is to provide tools to discover refactoring opportunities-such as move method, move field, split class, or merge classes-that are revealed when comparing the co-change clusters of fine-grained source code entities (methods, fields, constructors) to the original class decomposition; specifically when a source code entity is in the same class but in different clusters (or vice-versa). Our approach, named Draco, aims to produce minimal refactoring sequences that improve architecture decomposition. Marcos César de Oliveira 0001 |
ESEC/SIGSOFT FSE | 1 |