Ownership, Experience, and Defects

Reviewed by Jorge Aranda / 2011-06-27
Keywords: Code Ownership, Software Quality

Rahman2011 Foyzur Rahman and Premkumar Devanbu: "Ownership, experience and defects". Proceedings of the 33rd International Conference on Software Engineering, 10.1145/1985793.1985860.

Recent research indicates that "people" factors such as ownership, experience, organizational structure, and geographic distribution have a big impact on software quality. Understanding these factors, and properly deploying people resources can help managers improve quality outcomes. This paper considers the impact of code ownership and developer experience on software quality. In a large project, a file might be entirely owned by a single developer, or worked on by many. Some previous research indicates that more developers working on a file might lead to more defects. Prior research considered this phenomenon at the level of modules or files, and thus does not tease apart and study the effect of contributions of different developers to each module or file. We exploit a modern version control system to examine this issue at a fine-grained level. Using version history, we examine contributions to code fragments that are actually repaired to fix bugs. Are these code fragments "implicated" in bugs the result of contributions from many? or from one? Does experience matter? What type of experience? We find that implicated code is more strongly associated with a single developer's contribution; our findings also indicate that an author's specialized experience in the target file is more important than general experience. Our findings suggest that quality control efforts could be profitably targeted at changes made by single developers with limited prior experience on that file.

The findings are a bit hard to parse from the abstract, but the upshot is that (a) code worked on by a single developer (as opposed to many developers) is more often implicated in defects, and that (b) while a developer's general experience in a project is not correlated with the rate of defects introduced in it, the developer's experience with the file in question, in particular, is correlated with a lesser likelihood of introducing defects in it.