• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Refactoring for Parameterizing Java Classes

Cached

  • Download as a PDF

Download Links

  • [www.csail.mit.edu]
  • [www.cs.washington.edu]
  • [pag.lcs.mit.edu]
  • [people.csail.mit.edu]
  • [pag.csail.mit.edu]
  • [www.pag.csail.mit.edu]
  • [dspace.mit.edu]

  • Other Repositories/Bibliography

  • DBLP
  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Adam Kiezun , Michael D. Ernst, et al.
Citations:12 - 5 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@MISC{Kiezun_refactoringfor,
    author = {Adam Kiezun and Michael D. Ernst and et al.},
    title = {Refactoring for Parameterizing Java Classes},
    year = {}
}

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

Type safety and expressiveness of many existing Java libraries and their client applications would improve, if the libraries were upgraded to define generic classes. Efficient and accurate tools exist to assist client applications to use generic libraries, but so far the libraries themselves must be parameterized manually, which is a tedious, time-consuming, and error-prone task. We present a typeconstraint-based algorithm for converting non-generic libraries to add type parameters. The algorithm handles the full Java language and preserves backward compatibility, thus making it safe for existing clients. Among other features, it is capable of inferring wildcard types and introducing type parameters for mutually-dependent classes. We have implemented the algorithm as a fully automatic refactoring in Eclipse. We evaluated our work in two ways. First, our tool parameterized code that was lacking type parameters. We contacted the developers of several of these applications, and in all cases they confirmed that the resulting parameterizations were correct and useful. Second, to better quantify its effectiveness, our tool parameterized classes from already-generic libraries, and we compared the results to those that were created by the libraries ’ authors. Our tool performed the refactoring accurately—in 87 % of cases the results were as good as those created manually by a human expert, in 9 % of cases the tool results were better, and in 4 % of cases the tool results were worse.

Citations

1541 The Java Language Specification - Gosling, Joy, et al. - 1996
312 Making the future safe for the past: adding genericity to the java programming language - Bracha, Odersky, et al. - 1998
157 Object-Oriented Type Systems - Palsberg, Schwartzbach - 1994
129 Simple unification-based type inference for GADTs - Jones, Vytiniotis, et al. - 2006
49 The Cecil Language Specification and Rationale: Version 2.0 - Chambers - 1995
41 Refactoring support for class library migration. OOPSLA - Balaban, Tip, et al. - 2005
39 Refactoring for generalization using type constraints - TIP, KIE˙ZUN, et al.
24 Static type inference for parametric classes - Ohori, Buneman - 1989
21 Converting Java programs to use generic libraries - Donovan, Kieˇzun, et al. - 2004
19 Efficiently refactoring Java applications to use generic libraries - Fuhrer, Tip, et al. - 2005
17 Program generalization for software reuse: From C to C - Sioe, Reps - 1618
15 Sifting out the mud: low level C++ code reuse - SUTTER, BUS, et al. - 2002
15 Modular type-based reverse engineering of parameterized types in Java code - DUGGAN - 1999
13 Typing constraint logic programs. Theory and Practice of Logic Programming - Fages, Coquery
11 Converting Java Classes to Use Generics - Dincklage, Diwan - 2004
8 Customization of Java library classes using type constraints and profile information - Sutter, Tip, et al. - 2004
8 Decoupling classes with inferred interfaces - STEIMANN, MAYER, et al.
5 Inference of generic types in Java - DONOVAN, M - 2003
1 Type inference for generic Haskell - Rodriguez, Jeuring, et al. - 2005
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University