A framework for describing and understanding mining tools in software development

We propose a framework for describing, comparing and understanding tools for the mining of software repositories. The fundamental premise of this framework is that mining should be done by considering the specific needs of the users and the tasks to be supported by the mined information. First, different types of users have distinct needs, and these needs should be taken into account by tool designers. Second, the data sources available, and mined, will determine if those needs can be satisfied. Our framework is based upon three main principles: the type of user, the objective of the user, and the mined information. This framework has the following purposes: to help tool designers in the understanding and comparison of different tools, to assist users in the assessment of a potential tool; and to identify new research areas. We use this framework to describe several mining tools and to suggest future research directions.

[1]  Alan Wexelblat,et al.  Communities through Time: Using History for Social Navigation , 1998, Community Computing and Support Systems.

[2]  Toru Ishida,et al.  Community Computing and Support Systems-Social Interaction in Networked Communities , 1998 .

[3]  Matthew Chalmers,et al.  The Order of Things: Activity-Centred Information Access, , 1998, Comput. Networks.

[4]  Kellogg S. Booth,et al.  Coordinating open-source software development , 1999, Proceedings. IEEE 8th International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE'99).

[5]  John C. Grundy,et al.  Software architecture modelling, analysis and implementation with SoftArch , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[6]  Martin P. Robillard,et al.  FEAT a tool for locating, describing, and analyzing concerns in source code , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[7]  Harald C. Gall,et al.  Populating a Release History Database from version control and bug tracking systems , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[8]  Xiaomin Wu,et al.  Plugging-in visualization: experiences integrating a visualization tool with Eclipse , 2003, SoftVis '03.

[9]  Andrew Walenstein,et al.  Observing and measuring cognitive support: steps toward systematic tool evaluation and engineering , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[10]  Carl Gutwin,et al.  Mining a Software Developer's Local Interaction History , 2004, MSR.

[11]  Gregory D. Abowd,et al.  Tagging Knowledge Acquisition Sessions To Facilitate Knowledge Traceability , 2004, Int. J. Softw. Eng. Knowl. Eng..

[12]  Daniel German,et al.  Mining CVS repositories, the softChange experience , 2004, MSR.

[13]  Daniel M. Germán,et al.  Visualizing the Evolution of Software Using Softchange , 2006, Int. J. Softw. Eng. Knowl. Eng..

[14]  Janice Singer,et al.  Learning from project history: a case study for software development , 2004, CSCW.

[15]  Xiaomin Wu,et al.  A reverse engineering approach to support software maintenance: version control knowledge extraction , 2004, 11th Working Conference on Reverse Engineering.

[16]  Carl Gutwin,et al.  Group awareness in distributed software development , 2004, CSCW.

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

[18]  Daniel M. German,et al.  On the use of visualization to support awareness of human activities in software development: a survey and a framework , 2005, SoftVis '05.

[19]  Janice Singer,et al.  NavTracks: supporting navigation in software , 2005, 13th International Workshop on Program Comprehension (IWPC'05).