• 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