Enhancing History-Based Concern Mining with Fine-Grained Change Analysis (CSMR2012)

In this paper, we reinforce history-based concern mining techniques with fine-grained change analysis based on tree differencing on abstract syntax trees. Source code changes are recorded as facts over source code regions according to the RDF (Resource Description Framework) data model so that the analysis can be performed in terms of factbase queries.

Abstract

Maintenance of large software projects is often hindered by cross-cutting concerns scattered over multiple modules.  History-based mining techniques have been proposed to mitigate the difficultly by examining changes related to methods/functions in development history to suggest potential concerns.  However, the techniques do not cope well with renamed entities and may lead to irrelevant information about concerns.  The intricate procedures of the methods also make the results difficult for others to reproduce, utilize or improve.  In this paper, we reinforce history-based concern mining techniques with fine-grained change analysis based on tree differencing on abstract syntax trees.  Source code changes are recorded as facts over source code regions according to the RDF (Resource Description Framework) data model so that the analysis can be performed in terms of factbase queries.  To show the capability of the method, we report on an experiment that emulates the state-of-the-art concern mining technique called COMMIT using our own change analysis tool called Diff/TS.  A comparative case study on several open source projects written in C and Java shows that our technique improves results and overcomes the language barrier in the analysis.

Reference

Masatomo Hashimoto and Akira Mori. Enhancing History-Based Concern Mining with Fine-Grained Change Analysis. In Proceedings of the 16th European Conference on Software Maintenance and Reengineering (CSMR2012), IEEE Computer Society, Washington, DC, USA, pp. 75-84, 2012.

Download as PDF