Skip to main navigation Skip to search Skip to main content

Automatic identification of Java method naming patterns using cascade K-medoids

  • Tae Young Kim
  • , Suntae Kim
  • , Jeong Ah Kim*
  • , Jae Young Choi
  • , Jee Huong Lee
  • , Youngwha Cho
  • , Young Kwang Nam
  • *Corresponding author for this work
    • Jeonbuk National University
    • Kwandong University
    • Sungkyunkwan University
    • Yonsei University Wonju

    Research output: Contribution to journalJournal articlepeer-review

    Abstract

    This paper suggests an automatic approach to extracting Java method implementation patterns associated with method identifiers using Cascade K-Medoids. Java method implementation patterns indicate recurring implementations for achieving the purpose described in the method identifier with the given parameters and return type. If the implementation is different from the purpose, readers of the code tend to take more time to comprehend the method, which eventually affects to the increment of software maintenance cost. In order to automatically identify implementation patterns and its representative sample code, we first propose three groups of feature vectors for characterizing the Java method signature, method body and their relation. Then, we apply Cascade K-Medoids by enhancing the K-Medoids algorithm with the Calinski and Harrabasez algorithm. As the evaluation of our approach, we identified 16,768 implementation patterns of 7,169 method identifiers from 50 open source projects. The implementation patterns have been validated by the 30 industrial practitioners with from 1 to 6 years industrial experience, resulting in 86% of the precision.

    Original languageEnglish
    Pages (from-to)873-891
    Number of pages19
    JournalKSII Transactions on Internet and Information Systems
    Volume12
    Issue number2
    DOIs
    StatePublished - 2018.02.28

    Keywords

    • Cascade K-medoids
    • Implementation pattern
    • Java method signature

    Quacquarelli Symonds(QS) Subject Topics

    • Computer Science & Information Systems

    Fingerprint

    Dive into the research topics of 'Automatic identification of Java method naming patterns using cascade K-medoids'. Together they form a unique fingerprint.

    Cite this