Computing degree-of-knowledge values for a developer's workspace

Previous research in computer science shows that software developers are typically deluged by an enormous volume of information daily. Improving the effectiveness of developers to filter this information may yield significant productivity improvements. To combat this overload, we introduce an indicator, called degree-of-knowledge (DOK), which is a real value indicating how much knowledge a developer has with a source code element. A developer’s DOK values for a source code base can be computed automatically from authorship data mined from the source revision systems and from interaction data collected as the developer works. This indicator may help reduce information overload by, for instance, filtering the source code to only show the elements for which a developer has high knowledge. We describe our implementation of an efficient framework for computing DOK values in a development environment.

[1]  André van der Hoek,et al.  Palantir: raising awareness among configuration management workspaces , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[2]  Robert DeLine,et al.  Let's go to the whiteboard: how and why software developers use drawings , 2007, CHI.

[3]  Gail C. Murphy,et al.  Recommending Emergent Teams , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[4]  Audris Mockus,et al.  Expertise Browser: a quantitative approach to identifying expertise , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[5]  Grady Booch,et al.  Collaborative Development Environments , 2003, Adv. Comput..

[6]  Mik Kersten,et al.  Mylar: a degree-of-interest model for IDEs , 2005, AOSD '05.

[7]  Geraldine Fitzpatrick,et al.  CVS integration with notification and chat: lightweight software team collaboration , 2006, CSCW '06.

[8]  Thomas Fritz,et al.  Does a programmer's activity indicate knowledge of code? , 2007, ESEC-FSE '07.

[9]  Mik Kersten,et al.  Using task context to improve programmer productivity , 2006, SIGSOFT '06/FSE-14.

[10]  Mik Kersten Focusing knowledge work with task context , 2007 .

[11]  Mark S. Ackerman,et al.  Expertise recommender: a flexible recommendation system and architecture , 2000, CSCW '00.

[12]  Stéphane Ducasse,et al.  How developers drive software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).