Duplication for the removal of duplication

  • Ran Ettinger
  • , Shmuel Tyszberowicz

    Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

    3 Scopus citations

    Abstract

    A semantics-preserving code-motion refactoring transformation by Komondoor and Horwitz (KH) had been shown to be effective in the elimination of type-3 clones, partly thanks to its successful combination of statement reordering with duplication of predicates. According to a recent clone refactorability definition by Tsantalis, however, such a transformation is considered unacceptable whenever the given code fragments contain any statement that cannot be moved. We propose an adaptation of the KH transformation that yields refactorable results according to the definition of Tsantalis. An evaluation of this approach on real-world type-3 clones from the Java portion of the Tiarks benchmark produces promising results, demonstrating how code motion with the duplication of predicates forms an effective step towards the removal of duplication in source code.

    Original languageEnglish
    Title of host publicationProceedings - 10th International Workshop on Software Clones, IWSC 2016
    PublisherInstitute of Electrical and Electronics Engineers
    Pages53-59
    Number of pages7
    ISBN (Electronic)9781509018550
    DOIs
    StatePublished - 20 May 2016
    Event10th International Workshop on Software Clones, IWSC 2016, in conjunction with the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016 - Osaka, Japan
    Duration: 15 Mar 201615 Mar 2016

    Publication series

    Name2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016

    Conference

    Conference10th International Workshop on Software Clones, IWSC 2016, in conjunction with the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016
    Country/TerritoryJapan
    CityOsaka
    Period15/03/1615/03/16

    Keywords

    • duplication elimination
    • method extraction
    • refactoring

    ASJC Scopus subject areas

    • Software

    Fingerprint

    Dive into the research topics of 'Duplication for the removal of duplication'. Together they form a unique fingerprint.

    Cite this