Demo Data from EDBT 2026 / reviewers in the wild / expert
Caius Brindescu
dblp:145/3991
· DBLP profile ↗
9ranked-venue papers
5as first author
0since 2021 · last 2020
0000-0003-1196-8749ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 9 · 5 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
5 papers |
Software testing · 52% Empirical software engineering · 25% Software maintenance and evolution · 23% | |
| Human-computer interaction and pervasive computing
2 papers |
Collaborative and social computing · 100% |
Topics — the 17 heaviest of 17, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software maintenance and evolution › software merging
merge conflict resolution |
0.8 | 2 | 2020 | Planning for untangling: predicting the difficulty of merge conflicts · ICSE 2020 How do developers resolve merge conflicts? an investigation into the processes, tools, and improvements · ESEC/SIGSOFT FSE 2018 |
Empirical software engineering
mining software repositories |
0.6 | 2 | 2020 | Planning for untangling: predicting the difficulty of merge conflicts · ICSE 2020 How do centralized and distributed version control systems impact software changes? · ICSE 2014 |
Software testing › test generation
automated test generation |
0.4 | 1 | 2020 | Using Relative Lines of Code to Guide Automated Test Generation for Python · ACM Trans. Softw. Eng. Methodol. 2020 |
Software testing › test generation
coverage-based test generation |
0.4 | 1 | 2020 | Using Relative Lines of Code to Guide Automated Test Generation for Python · ACM Trans. Softw. Eng. Methodol. 2020 |
Software testing
fault detection |
0.4 | 1 | 2020 | Using Relative Lines of Code to Guide Automated Test Generation for Python · ACM Trans. Softw. Eng. Methodol. 2020 |
Software testing › random testing
property-based testing |
0.4 | 1 | 2020 | Using Relative Lines of Code to Guide Automated Test Generation for Python · ACM Trans. Softw. Eng. Methodol. 2020 |
Empirical software engineering
collaborative software development |
0.3 | 1 | 2018 | How do developers resolve merge conflicts? an investigation into the processes, tools, and improvements · ESEC/SIGSOFT FSE 2018 |
Empirical software engineering
developer studies |
0.3 | 1 | 2018 | How do developers resolve merge conflicts? an investigation into the processes, tools, and improvements · ESEC/SIGSOFT FSE 2018 |
Software maintenance and evolution › software configuration management
version control |
0.3 | 2 | 2018 | How do centralized and distributed version control systems impact software changes? · ICSE 2014 How do developers resolve merge conflicts? an investigation into the processes, tools, and improvements · ESEC/SIGSOFT FSE 2018 |
Software testing › test coverage
code coverage |
0.2 | 1 | 2016 | Can testedness be effectively measured? · SIGSOFT FSE 2016 |
Software testing › mutation testing
mutation score |
0.2 | 1 | 2016 | Can testedness be effectively measured? · SIGSOFT FSE 2016 |
Software testing › test coverage › code coverage
statement coverage |
0.2 | 1 | 2016 | Can testedness be effectively measured? · SIGSOFT FSE 2016 |
Software testing › test quality
test suite quality |
0.2 | 1 | 2016 | Can testedness be effectively measured? · SIGSOFT FSE 2016 |
Software maintenance and evolution
code change analysis |
0.2 | 1 | 2014 | How do centralized and distributed version control systems impact software changes? · ICSE 2014 |
Collaborative and social computing › team collaboration
collaborative software development |
0.2 | 2 | 2020 | Planning for untangling: predicting the difficulty of merge conflicts · ICSE 2020 How do centralized and distributed version control systems impact software changes? · ICSE 2014 |
Empirical software engineering › collaborative software development
pull requests |
0.1 | 1 | 2018 | How do developers resolve merge conflicts? an investigation into the processes, tools, and improvements · ESEC/SIGSOFT FSE 2018 |
Software testing
software testing evaluation |
0.1 | 1 | 2016 | Can testedness be effectively measured? · SIGSOFT FSE 2016 |
Methods — techniques the papers use, named apart from their topics
machine learning · 0.9bagging · 0.9random testing · 0.4lines-of-code heuristic · 0.4empirical study · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Planning for untangling: predicting the difficulty of merge conflictsabstractMerge conflicts are inevitable in collaborative software development and are disruptive. When they occur, developers have to stop their current work, understand the conflict and the surrounding code, and plan an appropriate resolution. However, not all conflicts are equally problematic---some can be easily fixed, while others might be complicated enough to need multiple people. Currently, there is not much support to help developers plan their conflict resolution. In this work, we aim to predict the difficulty of a merge conflict so as to help developers plan their conflict resolution. The ability to predict the difficulty of a merge conflict and to identify the underlying factors for its difficulty can help tool builders improve their conflict detection tools to prioritize and warn developers of difficult conflicts. In this work, we investigate the characteristics of difficult merge conflicts, and automatically classify them. We analyzed 6,380 conflicts across 128 java projects and found that merge conflict difficulty can be accurately predicted (AUC of 0.76) through machine learning algorithms, such as bagging. Caius Brindescu, Iftekhar Ahmed 0001, Rafael Leano, Anita Sarma |
ICSE | 1 |
| 2020 | Lifting the Curtain on Merge Conflict Resolution: A Sensemaking PerspectiveabstractMerge conflicts are an inevitable, but painful part of collaborative software development. Merge conflict resolution is nontrivial because it requires gathering information from disparate sources (e.g., a codebase, diffs between versions, history of changes, documentation etc.) and then piecing together not only this information, but the rationale and context behind the conflicting changes. Current tools offer inadequate support to developers trying to understand the context and impact of the conflicting changes. They also offer little support in evaluating potential resolutions. To improve conflict resolution tools, we first need to understand the information needs of conflict resolution and its underlying sensemaking process. In this paper, through in-situ observations of 10 conflict resolutions, we qualitatively investigate how developers collect and sensemake different conflict-related information and how they reach a resolution. We identified eight behaviour patterns that developers use. These patterns have implications for tool builders and developers alike. We identify specific areas that need improved tool support. We also highlight the sensemaking traps practitioners may fall into. Caius Brindescu, Yenifer Ramirez Gonzalez, Anita Sarma, Carlos Jensen |
ICSME | 1 |
| 2020 | An empirical investigation into merge conflicts and their effect on software quality
Caius Brindescu, Iftekhar Ahmed 0001, Carlos Jensen, Anita Sarma |
Empir. Softw. Eng. | 1 |
| 2020 | Using Relative Lines of Code to Guide Automated Test Generation for PythonabstractRaw lines of code (LOC) is a metric that does not, at first glance, seem extremely useful for automated test generation. It is both highly language-dependent and not extremely meaningful, semantically, within a language: one coder can produce the same effect with many fewer lines than another. However, relative LOC , between components of the same project, turns out to be a highly useful metric for automated testing. In this article, we make use of a heuristic based on LOC counts for tested functions to dramatically improve the effectiveness of automated test generation. This approach is particularly valuable in languages where collecting code coverage data to guide testing has a very high overhead. We apply the heuristic to property-based Python testing using the TSTL (Template Scripting Testing Language) tool. In our experiments, the simple LOC heuristic can improve branch and statement coverage by large margins (often more than 20%, up to 40% or more) and improve fault detection by an even larger margin (usually more than 75% and up to 400% or more). The LOC heuristic is also easy to combine with other approaches and is comparable to, and possibly more effective than, two well-established approaches for guiding random testing. Josie Holmes, Iftekhar Ahmed 0001, Caius Brindescu, Rahul Gopinath, He Zhang 0025, Alex Groce |
ACM Trans. Softw. Eng. Methodol. | 3 |
| 2019 | The life-cycle of merge conflicts: processes, barriers, and strategies
Nicholas Nelson 0002, Caius Brindescu, Shane McKee, Anita Sarma, Danny Dig |
Empir. Softw. Eng. | 2 |
| 2018 | How do developers resolve merge conflicts? an investigation into the processes, tools, and improvementsabstractMost software development is done in teams. When more than one developer is modifying the source code, there is a change that their changes will conflict. When this happens, developers have to interrupt their workflow in order to resolve the merge conflict. This interruption can lead to frustration and lost productivity. This makes collaboration, and the problems associated with it, an important aspect of software development. Merge conflicts are some of the more difficult issues that arise when working in a team. Caius Brindescu |
ESEC/SIGSOFT FSE | 1 |
| 2017 | An Empirical Examination of the Relationship between Code Smells and Merge ConflictsabstractBackground: Merge conflicts are a common occurrence in software development. Researchers have shown the negative impact of conflicts on the resulting code quality and the development workflow. Thus far, no one has investigated the effect of bad design (code smells) on merge conflicts. Aims: We posit that entities that exhibit certain types of code smells are more likely to be involved in a merge conflict. We also postulate that code elements that are both "smelly" and involved in a merge conflict are associated with other undesirable effects (more likely to be buggy). Method: We mined 143 repositories from GitHub and recreated 6,979 merge conflicts to obtain metrics about code changes and conflicts. We categorized conflicts into semantic or non-semantic, based on whether changes affected the Abstract Syntax Tree. For each conflicting change, we calculate the number of code smells and the number of future bug-fixes associated with the affected lines of code. Results: We found that entities that are smelly are three times more likely to be involved in merge conflicts. Method-level code smells (Blob Operation and Internal Duplication) are highly correlated with semantic conflicts. We also found that code that is smelly and experiences merge conflicts is more likely to be buggy. Conclusion: Bad code design not only impacts maintainability, it also impacts the day to day operations of a project, such as merging contributions, and negatively impacts the quality of the resulting code. Our findings indicate that research is needed to identify better ways to support merge conflict resolution to minimize its effect on code quality. Iftekhar Ahmed 0001, Caius Brindescu, Umme Ayda Mannan, Carlos Jensen, Anita Sarma |
ESEM | 2 |
| 2016 | Can testedness be effectively measured?abstractAmong the major questions that a practicing tester faces are deciding where to focus additional testing effort, and deciding when to stop testing. Test the least-tested code, and stop when all code is well-tested, is a reasonable answer. Many measures of "testedness" have been proposed; unfortunately, we do not know whether these are truly effective. In this paper we propose a novel evaluation of two of the most important and widely-used measures of test suite quality. The first measure is statement coverage, the simplest and best-known code coverage measure. The second measure is mutation score, a supposedly more powerful, though expensive, measure. Iftekhar Ahmed 0001, Rahul Gopinath, Caius Brindescu, Alex Groce, Carlos Jensen |
SIGSOFT FSE | 3 |
| 2014 | How do centralized and distributed version control systems impact software changes?abstractDistributed Version Control Systems (DVCS) have seen an increase in popularity relative to traditional Centralized Version Control Systems (CVCS). Yet we know little on whether developers are benefitting from the extra power of DVCS. Without such knowledge, researchers, developers, tool builders, and team managers are in the danger of making wrong assumptions. Caius Brindescu, Mihai Codoban, Sergii Shmarkatiuk, Danny Dig |
ICSE | 1 |