Declared Type Generalization Checker: An Eclipse Plug-In for Systematic Programming with More General Types

  • Markus Bach
  • Florian Forster
  • Friedrich Steimann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4422)


The Declared Type Generalization Checker is a plug-in for Eclipse’s Java Development Tools (JDT) that supports developers in systematically finding and using better fitting types in their programs. A type A is considered to fit better than a type B for a declaration element (variable) d if A is more general than B, that is, if A provides fewer members unneeded for the use of d. Our support comes in the form of warnings generated in the Problem View of Eclipse, and associated Quick Fixes allowing elements to be re-declared automatically. Due to the use of Eclipse extension points, the algorithm used to compute more general types is easily exchangeable. Currently our tool can use two publicly available algorithms, one considering only supertypes already present in a project, and one computing new, perfectly fitting types.


  1. 1.
    \bibitem{1} E Berard Essays on Object-Oriented Software Engineering (Prentice-Hall 1993). Google Scholar
  2. 2.
    Forster, F.: Cost and benefit of rigorous decoupling with context-specific interfaces. In: Proceedings of the 4th International Conference on Principles and Practices of Programming in Java, pp. 23–30 (2006)Google Scholar
  3. 3.
    Palsberg, J., Schwartzbach, M.I.: Object-oriented type inference. In: Proceedings of OOPSLA, pp. 146–161 (1991)Google Scholar
  4. 4.
    Steimann, F., Mayer, P., Meißner, A.: Decoupling classes with inferred interfaces. In: Proceedings of the 2006 ACM Symposium on Applied Computing, pp. 1404–1408 (2006)Google Scholar
  5. 5.
    Wang, T., Smith, S.F.: Precise Constraint-Based Type Inference for Java. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 99–117. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  6. 6.
    Bäumer, D., Gamma, E., Kiezun, A.: Integrating refactoring support into a Java development tool. In: OOPSLA’01 Companion (2001)Google Scholar
  7. 7.
    Gamma, E., Beck, K.: Contributing to Eclipse. Addison-Wesley Professional, Reading (2003)Google Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Markus Bach
    • 1
  • Florian Forster
    • 1
  • Friedrich Steimann
    • 1
  1. 1.Lehrgebiet Programmiersysteme, Fernuniversität in Hagen, D-58084 Hagen 

Personalised recommendations