A degree-of-knowledge model to capture source code familiarity
@article{Fritz2010ADM, title={A degree-of-knowledge model to capture source code familiarity}, author={Thomas Fritz and Jingwen Ou and Gail C. Murphy and Emerson R. Murphy-Hill}, journal={2010 ACM/IEEE 32nd International Conference on Software Engineering}, year={2010}, volume={1}, pages={385-394} }
The size and high rate of change of source code comprising a software system make it difficult for software developers to keep up with who on the team knows about particular parts of the code. Existing approaches to this problem are based solely on authorship of code. In this paper, we present data from two professional software development teams to show that both authorship and interaction information about how a developer interacts with the code are important in characterizing a developer's…
120 Citations
Degree-of-knowledge
- Computer ScienceACM Trans. Softw. Eng. Methodol.
- 2014
A degree-of-knowledge model is introduced that computes automatically, for each source-code element in a codebase, a real value that represents a developer's knowledge of that element based on a developers' authorship and interaction data.
Using Developers Contributions on Software Vocabularies to Identify Experts
- Computer Science2015 12th International Conference on Information Technology - New Generations
- 2015
Results confirm similarity between vocabularies might be explored to point out code experts and can recommend among current team members one whose vocabulary is closest to the entity for orphaned entities.
Identifying key developers in software projects using code authorship metrics
- Computer Science
- 2018
This thesis proposes an algorithm to estimate truck factors (TF), a concept widely used by practitioners to reveal key project members, and uses this algorithm to detect TF events in 1,932 projects and to reveal the practices that help them to overcome such events.
Mining Software Repositories for Accurate Authorship
- Computer Science2013 IEEE International Conference on Software Maintenance
- 2013
Two new line-level authorship models are presented to overcome the limitation of current tools that assume that the last developer to change a line of code is its author regardless of all earlier changes.
Assessing Developer Expertise from the Statistical Distribution of Programming Syntax Patterns
- Computer ScienceEASE
- 2021
This paper focuses on syntactic patterns mastery as an evidence of knowledge in programming and proposes a theoretical definition of programming knowledge based on the distribution of Syntax Patterns in source code, namely Zipf’s law.
Mining API Expertise Profiles with Partial Program Analysis
- Computer ScienceISEC
- 2016
This paper considers a technique called Partial Program Analysis for resolving type bindings in Java source code in the absence of third-party library binaries and evaluates different design options on 4 open-source Java projects.
Assessing Code Authorship: The Case of the Linux Kernel
- Computer ScienceOSS
- 2017
A case study on the Linux kernel shows that only a small portion of developers makes significant contributions to the code base; the distribution of the number of files per author is highly skewed; and authors with a high number of co-authorship connections tend to collaborate with others with less connections.
Measuring and analyzing code authorship in 1 + 118 open source projects
- Computer ScienceSci. Comput. Program.
- 2019
Revisiting Code Ownership and Its Relationship with Software Quality in the Scope of Modern Code Review
- Computer Science, Business2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE)
- 2016
This paper complements traditional code ownership heuristics using code review activity, and suggests that reviewing activity captures an important aspect of code ownership, and should be included in approximations of it in future studies.
Developer-centric models: easing access to relevant information in a software development environment
- Computer Science
- 2011
The concept of a developer-centric model is introduced and the Degree-of-Knowledge model provides a means to automatically determine the core of what a developer knows, which can then be used to identify the information a developer might be interested in.
References
SHOWING 1-10 OF 14 REFERENCES
Does a programmer's activity indicate knowledge of code?
- Computer ScienceESEC-FSE '07
- 2007
An empirical study investigates whether a programmer's activity can be used to build a model of what a programmer knows about a code base and found that a degree of interest model based on this frequency and recency of interaction can often indicate the parts of the code base for which the programmer has knowledge.
How developers drive software evolution
- Computer ScienceEighth International Workshop on Principles of Software Evolution (IWPSE'05)
- 2005
The mapping between the changes and the author identifiers (e.g., user names) provided by versioning repositories is used to define the ownership map visualization to understand when and how different developers interacted in which way and in which part of the system.
Mining the history of synchronous changes to refine code ownership
- Computer Science2009 6th IEEE International Working Conference on Mining Software Repositories
- 2009
This paper illustrates how the information mined by the Syde tool can help to provide a refined notion of code ownership and breaks new ground in terms of how such information can assist developers.
Mining usage expertise from version archives
- Computer ScienceMSR '08
- 2008
Preliminary results for the ECLIPSE project are presented that demonstrate that the concept of usage expertise, which manifests itself whenever developers are using functionality, e.g., by calling API methods, is introduced.
Mylar: a degree-of-interest model for IDEs
- Computer ScienceAOSD '05
- 2005
The use of a degree-of-interest (DOI) model to capture the task context of program elements scattered across a code base and the results of a preliminary diary study in which professional programmers used Mylar for their daily work on enterprise-scale Java systems are presented.
Recommending Emergent Teams
- Computer ScienceFourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007)
- 2007
This paper introduces the emergent expertise locator (EEL) that uses emergent team information to propose experts to a developer within their development environment as the developer works and finds that EEL produces, on average, results with higher precision and higher recall than an existing heuristic for expertise recommendation.
Expertise Browser: a quantitative approach to identifying expertise
- Computer ScienceProceedings of the 24th International Conference on Software Engineering. ICSE 2002
- 2002
A tool, called Expertise Browser (ExB), that uses data from change management systems to locate people with desired expertise and uses a quantification of experience, and presents evidence to validate this quantification as a measure of expertise.
Towards understanding programs through wear-based filtering
- Computer ScienceSoftVis '05
- 2005
This paper presents the results of a formative observational study of seven professional programmers who use a conventional development environment to update an unfamiliar implementation of a commonly known video game, and presents sketches of new visualizations that use wear-based filtering.
Focusing knowledge work with task context
- Computer Science
- 2007
The results of this study showed that task context generalizes beyond programming applications, reducing information overload and facilitating multi-tasking in a cross-section of knowledge work domains.
Using task context to improve programmer productivity
- Computer ScienceSIGSOFT '06/FSE-14
- 2006
This paper presents a mechanism that captures, models, and persists the elements and relations relevant to a task, and reports a statistically significant improvement in the productivity of industry programmers who voluntarily used Mylar for their daily work.