Proceedings Article10.1109/CSMR.2010.38
Refactoring Generics in JAVA: A Case Study on Extract Method
Raúl Marticorena,Carlos López,Yania Crespo,F. Javier Perez +3 more
- 15 Mar 2010
- pp 212-221
5
TL;DR: An evaluation of the behaviour of refactoring tools on source code that defines or uses generics and distill the lessons learned into requirements that have to be taken into account by refactored tools in order to fully conform to this new language feature.
read more
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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
A systematic literature review: Refactoring for disclosing code smells in object oriented software
Satwinder Singh,Sharanpreet Kaur +1 more
TL;DR: A systematic literature review of refactoring with respect to code smells, and the identification of code smells and anti-patterns is performed in depth.
86
Deriving Extract Method Refactoring Suggestions for Long Methods
Roman Haas,Benjamin Hummel +1 more
- 18 Jan 2016
TL;DR: The approach determines valid refactoring candidates and ranks them using a scoring function that aims to improve readability and reduce code complexity and uses length and nesting reduction as complexity indicators.
Incremento del potencial de reutilización del software mediante refactorización
Yania Crespo González-Carvajal
- 01 Jan 2000
TL;DR: A partIR DEL CUAL, SE ABORDAUNA UNA NUEVA as mentioned in this paperACTORIZACION, DESDE SU PROPUSTAHASTA LA IMPLEMENTACION DE UN PROTOTIPO COMO CASO DE ESTUDIO, PASANDO PORSU DEFINICION Y ANALISIS as mentioned in this paper
9
A systematic mapping study on software product line evolution: From legacy system reengineering to product line refactoring
Miguel A. Laguna,Yania Crespo +1 more
TL;DR: This study aims to survey existing research on the reengineering of legacy systems into SPLs and the refactoring of existing SPLs in order to identify proven approaches and pending challenges for future research in both subfields.
References
•Book
Refactoring: Improving the Design of Existing Code
Martin Fowler
- 01 Jan 1999
TL;DR: Almost every expert in Object-Oriented Development stresses the importance of iterative development, but how do you add function to the existing code base while still preserving its design integrity?
•Book
The Java Language Specification
James Gosling,Bill Joy,Guy L. Steele +2 more
- 12 Sep 1996
TL;DR: The Java Language Specification, Second Edition is the definitive technical reference for the Java programming language and provides complete, accurate, and detailed coverage of the syntax and semantics of the Java language.
Refactoring improving the design of existing code
Mauricio A. Saca
- 01 Nov 2017
TL;DR: The present document details the how, why and when to apply refactoring in computer systems that have been poorly designed, this in order to a better performance and maintenance of the constituent components.
4.1K
A survey of software refactoring
Tom Mens,Tom Tourwe +1 more
TL;DR: This research is compared and discussed based on a number of different criteria: the refactoring activities that are supported, the specific techniques and formalisms that are used for supporting these activities, the types of software artifacts that are being refactored, the important issues that need to be taken into account when buildingRefactoring tool support, and the effect of refactors on the software process.
•Book
The object constraint language
Jos B. Warmer
- 01 Jan 1998
TL;DR: Coenzyme A is purified by a process involving contacting a cyanogen halide-activated water-insoluble polysaccharide with a cell-free extract of a coenzyme A-producing microorganism to immobilize proteins such as enzymes having affinity for coen enzyme A on the poly Saccharide.
580
Related Papers (5)
Jongwook Kim,Don Batory,Danny Dig,Maider Azanza +3 more
- 14 May 2016
J. Rajesh,Dharanipragada Janakiram +1 more
- 24 Aug 2004
Alejandra Garrido,Ralph E. Johnson +1 more
- 06 Oct 2003