DocumentCode
3169545
Title
Mining Coding Patterns to Detect Crosscutting Concerns in Java Programs
Author
Ishio, Takashi ; Date, Hironori ; Miyake, Tatsuya ; Inoue, Katsuro
Author_Institution
Osaka Univ., Toyonaka
fYear
2008
fDate
15-18 Oct. 2008
Firstpage
123
Lastpage
132
Abstract
A coding pattern is a frequent sequence of method calls and control statements to implement a particular behavior. Coding patterns include copy-and-pasted code, crosscutting concerns and implementation idioms. Duplicated code fragments and crosscutting concerns that spread across modules are problematic in software maintenance. In this paper, we propose a sequential pattern mining approach to capture coding patterns in Java programs. We have defined a set of rules to translate Java source code into a sequence database for pattern mining, and applied PrefixSpan algorithm to the sequence database. As a case study, we have applied our tool to six open-source programs and manually investigated the resultant patterns. We report coding patterns that are candidates of aspects and several logging patterns that are well-known crosscutting concerns but hard to modularize.
Keywords
Java; data mining; program interpreters; public domain software; software maintenance; software tools; Fung pattern mining tool; Java source code translation; copy-and-pasted code; crosscutting concern detection; duplicated code fragment; frequent method call sequence; open source Java program; prefixspan algorithm; sequence database; sequential coding pattern mining; software maintenance; Cloning; Code standards; Databases; Java; Large-scale systems; Open source software; Reverse engineering; Software maintenance; Software standards; Standards development; Aspect Mining; Java; Sequential Pattern Mining; Software Maintenance; Static Analysis;
fLanguage
English
Publisher
ieee
Conference_Titel
Reverse Engineering, 2008. WCRE '08. 15th Working Conference on
Conference_Location
Antwerp
ISSN
1095-1350
Print_ISBN
978-0-7695-3429-9
Type
conf
DOI
10.1109/WCRE.2008.28
Filename
4656401
Link To Document