Mihai Codoban

dblp:32/10517 · DBLP profile ↗
← Back
5ranked-venue papers
1as first author
1since 2021 · last 2021
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 1 first-author · 1 since 2021

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
4 papers
Empirical software engineering · 51% Software maintenance and evolution · 49%
Human-computer interaction and pervasive computing
1 paper
Collaborative and social computing · 100%

Topics — the 12 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution › software configuration management
version control
0.722021
Version Control Systems: An Information Foraging Perspective · IEEE Trans. Software Eng. 2021
How do centralized and distributed version control systems impact software changes? · ICSE 2014
Empirical software engineering
developer studies
0.512021
Version Control Systems: An Information Foraging Perspective · IEEE Trans. Software Eng. 2021
Empirical software engineering › user behavior analysis
information foraging theory
0.512021
Version Control Systems: An Information Foraging Perspective · IEEE Trans. Software Eng. 2021
Empirical software engineering
mining software repositories
0.422014
Mining fine-grained code changes to detect unknown change patterns · ICSE 2014
How do centralized and distributed version control systems impact software changes? · ICSE 2014
Software maintenance and evolution › code recommendation
API recommendation
0.212016
API code recommendation using statistical learning from fine-grained changes · SIGSOFT FSE 2016
Software maintenance and evolution
code recommendation
0.212016
API code recommendation using statistical learning from fine-grained changes · SIGSOFT FSE 2016
Software maintenance and evolution
code change analysis
0.212014
How do centralized and distributed version control systems impact software changes? · ICSE 2014
Software maintenance and evolution › program differencing
fine-grained source code change extraction
0.212014
Mining fine-grained code changes to detect unknown change patterns · ICSE 2014
Empirical software engineering › mining software repositories › commit analysis
repetitive code changes
0.212014
Mining fine-grained code changes to detect unknown change patterns · ICSE 2014
Empirical software engineering
qualitative research
0.112021
Version Control Systems: An Information Foraging Perspective · IEEE Trans. Software Eng. 2021
Software maintenance and evolution › software evolution
code changes
0.112016
API code recommendation using statistical learning from fine-grained changes · SIGSOFT FSE 2016
Collaborative and social computing › team collaboration
collaborative software development
0.112014
How do centralized and distributed version control systems impact software changes? · ICSE 2014

Methods — techniques the papers use, named apart from their topics

qualitative data analysis · 0.5information foraging theory · 0.5empirical study · 0.4statistical learning · 0.2pattern mining · 0.2
YearPublicationVenuePosition
2021 Version Control Systems: An Information Foraging Perspective
abstract
Version Control Systems (VCS) are an important source of information for developers. This calls for a principled understanding of developers' information seeking in VCS-both for improving existing tools and for understanding requirements for new tools. Our prior work investigated empirically how and why developers seek information in VCS: in this paper, we complement and enrich our prior findings by reanalyzing the data via a theory's lens. Using the lens of Information Foraging Theory (IFT), we present new insights not revealed by the prior empirical work. First, while looking for specific information, participants' foraging behaviors were consistent with other foraging situations in SE; therefore, prior research on IFT-based SE tool design can be leveraged for VCS. Second, in change awareness foraging, participants consumed similar diets, but in subtly different ways than in other situations; this calls for further investigations into change awareness foraging. Third, while committing changes, participants attempted to enable future foragers, but the competing needs of different foraging situations led to tensions that participants failed to balance: this opens up a new avenue for research at the intersection of IFT and SE, namely, creating forageable information. Finally, the results of using an IFT lens on these data provides some evidence as to IFT's scoping and utility for the version control domain.
Sruti Srinivasa Ragavan, Mihai Codoban, David Piorkowski, Danny Dig, Margaret M. Burnett
IEEE Trans. Software Eng.2
2016 API code recommendation using statistical learning from fine-grained changes
abstract
Learning and remembering how to use APIs is difficult. While code-completion tools can recommend API methods, browsing a long list of API method names and their documentation is tedious. Moreover, users can easily be overwhelmed with too much information. We present a novel API recommendation approach that taps into the predictive power of repetitive code changes to provide relevant API recommendations for developers. Our approach and tool, APIREC, is based on statistical learning from fine-grained code changes and from the context in which those changes were made. Our empirical evaluation shows that APIREC correctly recommends an API call in the first position 59% of the time, and it recommends the correct API call in the top five positions 77% of the time. This is a significant improvement over the state-of-the-art approaches by 30-160% for top-1 accuracy, and 10-30% for top-5 accuracy, respectively. Our result shows that APIREC performs well even with a one-time, minimal training dataset of 50 publicly available projects.
Anh Tuan Nguyen 0001, Michael Hilton 0001, Mihai Codoban, Hoan Anh Nguyen, Lily Mast, Eli Rademacher, Tien N. Nguyen, Danny Dig
SIGSOFT FSE3
2015 Software history under the lens: A study on why and how developers examine it
abstract
Despite software history being indispensable for developers, there is little empirical knowledge about how they examine software history. Without such knowledge, researchers and tool builders are in danger of making wrong assumptions and building inadequate tools. In this paper we present an in-depth empirical study about the motivations developers have for examining software history, the strategies they use, and the challenges they encounter. To learn these, we interviewed 14 experienced developers from industry, and then extended our findings by surveying 217 developers. We found that history does not begin with the latest commit but with uncommitted changes. Moreover, we found that developers had different motivations for examining recent and old history. Based on these findings we propose 3-LENS HISTORY, a novel unified model for reasoning about software history.
Mihai Codoban, Sruti Srinivasa Ragavan, Danny Dig, Brian P. Bailey
ICSME1
2014 How do centralized and distributed version control systems impact software changes?
abstract
Distributed 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
ICSE2
2014 Mining fine-grained code changes to detect unknown change patterns
abstract
Identifying repetitive code changes benefits developers, tool builders, and researchers. Tool builders can automate the popular code changes, thus improving the productivity of developers. Researchers can better understand the practice of code evolution, advancing existing code assistance tools and benefiting developers even further. Unfortunately, existing research either predominantly uses coarse-grained Version Control System (VCS) snapshots as the primary source of code evolution data or considers only a small subset of program transformations of a single kind - refactorings.
Stas Negara, Mihai Codoban, Danny Dig, Ralph E. Johnson
ICSE2