• DocumentCode
    3342981
  • Title

    Partial redesign of Java software systems based on clone analysis

  • Author

    Balazinska, Magdalena ; Merlo, Ettore ; Dagenais, Michel ; Lagüe, Bruno ; Kontogiannis, Kostas

  • Author_Institution
    Dept. of Electr. & Comput. Eng., Ecole Polytech. de Montreal, Que., Canada
  • fYear
    1999
  • fDate
    6-8 Oct 1999
  • Firstpage
    326
  • Lastpage
    336
  • Abstract
    Code duplication, plausibly caused by copying source code and slightly modifying it, is often observed in large systems. Clone detection and documentation have been investigated by several researchers in past years. Recently, research focus has shifted towards the investigation of software and process restructuring actions based on clone detection. The paper presents a new redesign approach developed for Java software systems. The approach factorizes the common parts of cloned methods and parameterizes their differences using the strategy design pattern. The new entities created by such transformations are also decoupled from the original contexts of their use, thus facilitating reuse and increasing maintainability. The applicability and automation of the technique presented in the paper have been verified by partially redesigning JDK 1.1.5
  • Keywords
    Java; software maintenance; software reusability; systems re-engineering; Java software systems redesign; clone analysis; clone detection; cloned methods; code duplication; large systems; maintainability; partial JDK redesign; partial redesign; process restructuring actions; redesign approach; strategy design pattern; Cloning; Design automation; Documentation; Dynamic programming; Fingerprint recognition; Java; Pattern matching; Programming profession; Software libraries; Software systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Reverse Engineering, 1999. Proceedings. Sixth Working Conference on
  • Conference_Location
    Atlanta, GA
  • Print_ISBN
    0-7695-0303-9
  • Type

    conf

  • DOI
    10.1109/WCRE.1999.806971
  • Filename
    806971