• DocumentCode
    650696
  • Title

    On the Automation of Dependency-Breaking Refactorings in Java

  • Author

    Shah, Syed Muhammad Ali ; Dietrich, Jens ; McCartin, Catherine

  • Author_Institution
    Sch. of Eng. & Adv. Technol., Massey Univ., Palmerston North, New Zealand
  • fYear
    2013
  • fDate
    22-28 Sept. 2013
  • Firstpage
    160
  • Lastpage
    169
  • Abstract
    The architecture and design of object-oriented systems is often described in terms of dependencies between program artefacts like classes, packages and libraries. In particular, there are many heuristics that mandate that certain dependencies should be avoided, and there are increasingly popular frameworks that focus on actively managed dependencies between artefacts, such as the Spring framework and the OSGi dynamic module system. However, empirical studies have shown that many real-world Java programs are riddled with dependency related problems. The question arises whether it is possible to automatically refurbish Java programs by removing unwanted dependencies without affecting the functionality of the program. We present an algorithm and a proof-of-concept implementation that does this. Our approach uses several refactorings: move class, type generalisation, service locator, and in lining and is validated on the Qualitas Corpus set of Java programs.
  • Keywords
    Java; object-oriented programming; Java programs; OSGi dynamic module system; Qualitas Corpus set; Spring framework; dependency-breaking refactorings automation; object-oriented systems; Abstracts; Computer architecture; Engines; Java; Measurement; Object oriented modeling; Software;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance (ICSM), 2013 29th IEEE International Conference on
  • Conference_Location
    Eindhoven
  • ISSN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSM.2013.27
  • Filename
    6676887