• Cite Icon4
  • https://doi.org/10.1145/1028664.1028669Copy DOI Icon

Advanced refactorings in eclipse

  • Oct 23, 2004
  • Robert Fuhrer +2 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

We will demonstrate several advanced refactorings for Java that have been implemented in the context of the Eclipse development environment for Java (see www.eclipse.org). These refactorings are semantics-preserving program transformations that are typical of the sorts of transformations object-oriented programmers perform manually in order to improve the structure of existing code, and to promote reuse, clarity, and extensibility.Our demonstration will consist of three parts: (i) a quick review of the implementation in Eclipse of several widely-used refactorings such as Extract Method, Introduce Factory and Change Method Signature as described in Fowler's seminal book on refactoring, (ii) a demonstration of generalization-related refactorings such as Extract Interface, for extracting an interface from a class in order to reduce client dependencies on implementation particulars, and Generalize Type, for remediating over-specific declarations, and (iii) a demonstration of Genericize Container Uses, a refactoring that we are currently developing for migrating occurrences of standard container classes such as ArrayList or HashMap in a user's program to instantiations of the generic versions of these container classes in Java 1.5 (e.g., ArrayList). This involves determining the element types that flow into each container object, modifying their declarations and allocations sites where possible, and removing casts that have been rendered redundant.The latter two categories of refactorings involve non-trivial static analysis, as well as challenging usability issues from a software engineering perspective, which reflect the complications that programmers face when performing the transformations manually. Therefore, during each demonstration, we will give a brief overview of the technical challenges that the refactorings present, along with highlights of the approach we took in addressing them. In particular, we will briefly describe a new piece of Eclipse infrastructure designed to help implement various kinds of context-sensitive and context-insensitive type and pointer analyses for Java.

Similar Papers
  • Research Article
  • Citations1

Coding Style of C Program from the Perspective of Software Engineering

  • Jul 01, 2019
  • IOP Conference Series: Materials Science and Engineering
  • Jiujiu Yu +4
  • Research Article
  • Citations19

A formal framework for dependability and resilience from a software engineering perspective

  • Sep 01, 2011
  • Open Computer Science
  • Nicolas Guelfi
  • Research Article
  • Citations3

A Secure Healthcare System: From Design to Implementation

  • Jan 01, 2015
  • Procedia Computer Science
  • Ebru Celikel Cankaya +1
  • Conference Article
  • Citations3

Empirically Examining the Quality of Source Code in Engineering Software Systems

  • May 01, 2018
  • Jens K Carter +2
  • Research Article
  • Citations5

Ethical issues in empirical studies using student subjects: Re-visiting practices and perceptions

  • Mar 20, 2021
  • Empirical Software Engineering
  • Grischa Liebel +1
  • Book Chapter
  • Citations1

A Review of Dynamic Verification of Security and Dependability Properties

  • Jan 01, 2019
  • Antonio Muñoz +2
  • Conference Article
  • Citations5

A Metrics Suite for Static Structure of Large-Scale Software Based on Complex Networks

  • Aug 01, 2008
  • Haohua Zhang +4
  • PDF
  • Research Article
  • Citations20

Challenges in NoSQL-Based Distributed Data Storage: A Systematic Literature Review

  • Apr 30, 2019
  • Electronics
  • Shabana Ramzan +3
  • Research Article
  • Citations14

On the emotion of users in app reviews

  • May 20, 2017
  • arXiv (Cornell University)
  • Daniel Martens +1
  • Research Article
  • Citations194

A software engineering perspective on environmental modeling framework design: The Object Modeling System

  • Jun 13, 2012
  • Environmental Modelling & Software
  • O David +6
  • Conference Article
  • Citations15

The State of Practice on Virtual Reality (VR) Applications: An Exploratory Study on Github and Stack Overflow

  • Jul 01, 2018
  • Naoures Ghrairi +4
  • Research Article
  • Citations10

Value‐oriented quality metrics in software development: Practical relevance from a software engineering perspective

  • Nov 25, 2021
  • IET Software
  • Philipp Haindl +1
  • Conference Article
  • Citations24

On the Emotion of Users in App Reviews

  • May 01, 2017
  • Daniel Martens +1
  • PDF
  • Research Article
  • Citations8

The democratization of bioinformatics: A software engineering perspective.

  • Jun 01, 2020
  • GigaScience
  • Brendan Lawlor +1
  • Research Article

Real-time Distributed AI on Streaming Data: Challenges, Techniques, and Software Engineering Perspectives

  • Jun 10, 2025
  • International Research Journal of Modernization in Engineering Technology and Science
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.