• DocumentCode
    2524593
  • Title

    Refactoring Generics in JAVA: A Case Study on Extract Method

  • Author

    Marticorena, Raúl ; López, Carlos ; Crespo, Yania ; Pérez, F. Javier

  • Author_Institution
    Comput. Languages & Syst. Area, Univ. of Burgos, Burgos, Spain
  • fYear
    2010
  • fDate
    15-18 March 2010
  • Firstpage
    212
  • Lastpage
    221
  • Abstract
    The addition of support for genericity to mainstream programming languages has a notable influence in refactoring tools. This also applies to the JAVA programming language. Those versions of the language specification prior to JAVA 5 did not include support for generics. Therefore, refactoring tools had to evolve to modify their refactoring implementations according to the new language characteristics in order to assure the correct effects when transforming code containing generic definitions or using generic instantiations. This paper presents an evaluation of the behaviour of refactoring tools on source code that defines or uses generics. We compare the behaviour of five refactoring tools on a well known refactoring, Extract Method, and its implementation for the JAVA language. We distill the lessons learned from our evaluation into requirements that have to be taken into account by refactoring tools in order to fully conform to this new language feature.
  • Keywords
    Java; software maintenance; software tools; source coding; JAVA programming language; extract method; generic definitions; generic instantiations; language specification; refactoring tools; source code; Arrays; Feature extraction; Indexes; Input variables; Java; Software; extract method; generic programming; generics; refactoring; test cases;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Reengineering (CSMR), 2010 14th European Conference on
  • Conference_Location
    Madrid
  • ISSN
    1534-5351
  • Print_ISBN
    978-1-61284-369-8
  • Electronic_ISBN
    1534-5351
  • Type

    conf

  • DOI
    10.1109/CSMR.2010.38
  • Filename
    5714438