Title
How Developers Develop Features
Abstract
Software systems are typically developed by teams of developers, with responsibilities for different parts of the code. Knowledge of how the developers collaborate, and how their responsibilities are distributed over the software artifacts is a valuable source of information when reverse engineering a system. Determining which developers are responsible for which software artifacts (e.g., packages or classes) is just one perspective. In this paper we complement the static perspective with the dynamic perspective of a system in terms of its features. We want to extract information about which developers are responsible for which features. To achieve these two perspectives, we correlate developer responsibilities both with a structural view of the system and with a feature view. We identify which developers are responsible for which features, and whether the responsibilities correspond with structural source code artifacts or with features. We apply our technique to two software projects developed by two teams of students as part of their course work, and to one large open source project.
Year
DOI
Venue
2007
10.1109/CSMR.2007.27
CSMR
Keywords
Field
DocType
software system,software artifact,structural view,software project,large open source project,dynamic perspective,valuable source,structural source code artifact,static perspective,feature view,source code,software systems,packaging,project management,collaboration,reverse engineering,collaborative software,dynamic analysis,data mining,software maintenance
Systems engineering,Software engineering,Computer science,Collaborative software,Source code,Reverse engineering,Knowledge-based systems,Software system,Software,Software maintenance,Project management
Conference
ISBN
Citations 
PageRank 
0-7695-2802-3
8
0.52
References 
Authors
18
3
Name
Order
Citations
PageRank
Orla Greevy121514.22
Tudor Girba272940.01
Stéphane Ducasse33418243.15