{"id":22,"date":"2012-04-15T07:19:24","date_gmt":"2012-04-15T07:19:24","guid":{"rendered":"http:\/\/www.codinuum.com\/en\/?p=22"},"modified":"2012-07-27T15:31:00","modified_gmt":"2012-07-27T15:31:00","slug":"csmr2012","status":"publish","type":"post","link":"https:\/\/codinuum.com\/en\/publications\/csmr2012.html","title":{"rendered":"Enhancing History-Based Concern Mining with Fine-Grained Change Analysis (CSMR2012)"},"content":{"rendered":"<p>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.<\/p>\n<p><!--more--><\/p>\n<h1>Abstract<\/h1>\n<p>Maintenance of large software projects is often hindered by\u00a0cross-cutting concerns scattered over multiple modules. \u00a0History-based\u00a0mining techniques have been proposed to mitigate the difficultly by\u00a0examining changes related to methods\/functions in development history\u00a0to suggest potential concerns. \u00a0However, the techniques do not cope\u00a0well with renamed entities and may lead to irrelevant information\u00a0about concerns. \u00a0The intricate procedures of the methods also make\u00a0the results difficult for others to reproduce, utilize or improve. \u00a0In this paper, we reinforce history-based concern mining techniques\u00a0with fine-grained change analysis based on tree differencing on\u00a0abstract syntax trees. \u00a0Source code changes are recorded as facts over\u00a0source code regions according to the <a href=\"http:\/\/www.w3.org\/RDF\/\" target=\"_blank\">RDF (Resource Description\u00a0Framework)<\/a> data model so that the analysis can be performed in terms\u00a0of factbase queries. \u00a0To show the capability of the method, we report on an experiment that\u00a0emulates the state-of-the-art concern mining technique called COMMIT\u00a0using our own change analysis tool called Diff\/TS. \u00a0A comparative\u00a0case study on several open source projects written in C and Java shows\u00a0that our technique improves results and overcomes the language barrier\u00a0in the analysis.<\/p>\n<h2>Reference<\/h2>\n<p>Masatomo Hashimoto and Akira Mori. Enhancing History-Based Concern Mining with Fine-Grained Change Analysis. In <em>Proceedings of the 16th European Conference on Software Maintenance and Reengineering<\/em> (CSMR2012), IEEE Computer Society, Washington, DC, USA, pp. 75-84, 2012.<\/p>\n<p><a title=\"Download as PDF\" href=\"http:\/\/codinuum.com\/publications\/ccc-csmr2012.pdf\" target=\"_blank\">Download as PDF<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>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.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-22","post","type-post","status-publish","format-standard","hentry","category-publications"],"_links":{"self":[{"href":"https:\/\/codinuum.com\/en\/wp-json\/wp\/v2\/posts\/22","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codinuum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codinuum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codinuum.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/codinuum.com\/en\/wp-json\/wp\/v2\/comments?post=22"}],"version-history":[{"count":12,"href":"https:\/\/codinuum.com\/en\/wp-json\/wp\/v2\/posts\/22\/revisions"}],"predecessor-version":[{"id":242,"href":"https:\/\/codinuum.com\/en\/wp-json\/wp\/v2\/posts\/22\/revisions\/242"}],"wp:attachment":[{"href":"https:\/\/codinuum.com\/en\/wp-json\/wp\/v2\/media?parent=22"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codinuum.com\/en\/wp-json\/wp\/v2\/categories?post=22"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codinuum.com\/en\/wp-json\/wp\/v2\/tags?post=22"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}