Mining Software Repositories - A Comparative Analysis

Despite of many Mining Software Repositories (MSR) tools in use, it is a relatively new research domain, which forms the basis of classifying various tools and comparing them. In this paper we present a comparative analysis of different tools for MSR, based on some existing and new criteria proposed in this paper. This will assist in determining an appropriate tool that performs the best for a given type of application and to use it directly, instead of relying on the usual trial-and-error approach. This work has several purposes; it acts as a formative evaluation mechanism for tool designers (by quickly understanding and comparing different tools), as an assessment tool for potential tool users (by simply going through the comparative analysis chart to know at a glance, the essential components needed to be incorporated into the intended tool) and as a comparative milestone so that MSR tool researchers can easily differentiate amongst a pool of tools, thereby identifying other new research avenues. The tabular presentation furthers the work by providing a quick index to the reader and a means for quick analysis of the desired tool. Key word: Mining, Software, Repositories

[1]  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).

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

[3]  Daniel M. Germán,et al.  A framework for describing and understanding mining tools in software development , 2005, MSR.

[4]  Ahmed E. Hassan,et al.  Mining Software Repositories to Assist Developers and Support Managers , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[5]  Frank Tip,et al.  Chianti: a tool for change impact analysis of java programs , 2004, OOPSLA.

[6]  Audris Mockus,et al.  TA-RE: an exchange language for mining software repositories , 2006, MSR '06.

[7]  Benjamin Livshits,et al.  DynaMine: finding common error patterns by mining software revision histories , 2005, ESEC/FSE-13.

[8]  Paul Dourish,et al.  Unifying artifacts and activities in a visual tool for distributed software development teams , 2004, Proceedings. 26th International Conference on Software Engineering.

[9]  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.

[10]  Yuefeng Zhang,et al.  Mining software repositories for model-driven development , 2006, IEEE Software.

[11]  Thomas Zimmermann,et al.  Fine-grained processing of CVS archives with APFEL , 2006, ETX.

[12]  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.

[13]  Gabriela Serban Czibula,et al.  On some criteria for comparing aspect mining techniques , 2007, LATE@AOSD.

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

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

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

[17]  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..