Mining Coding Patterns to Detect Crosscutting Concerns in Java Programs

  • Authors:
  • Takashi Ishio;Hironori Date;Tatsuya Miyake;Katsuro Inoue

  • Affiliations:
  • -;-;-;-

  • Venue:
  • WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

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 programsand 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.