Back to results

University of Illinois at Urbana-Champaign

Towards multi-dimensional integrated development environments for improved productivity

Abstract

dc:description

Integrated development environments (IDEs) are software applications designed to facilitate writing, building, debugging, and deploying software. IDEs come in many different forms, but they are an integral part of software engineering for many developers; studies reported that 97\% of developers use IDEs for they daily development tasks, and 91\% of them prefer the modern GUI-based IDEs with a plug-in architecture such as Eclipse and NetBeans. The plug-in architecture offers extensibility for IDEs to support multiple programming languages and allows tool providers and developers to write custom tools as separate plug-ins. Although plug-ins provide an effective means of extending and customizing IDEs, we believe the very plug-in nature can lead to an IDEs overloaded with plug-ins. A quick search on the Eclipse Marketplace websites lists about 2,000 plug-ins available. In addition, most of these plug-ins provide a distinct functionality that operates separately from other plug-ins or even from the main programming activities, and they also make heavy use of graphical user interfaces because the IDEs themselves are GUI-based. This means that developers not only still have to switch context within an IDE when using these plug-ins, but also have to learn how to use these plug-ins in order to accomplish their tasks. We conjecture that these issues result in counterproductive tools. We believe, however, that it is possible to build tools that are more intuitive and seamlessly integrated by leveraging developers' inherent understandings of their code and learned skills in software development processes. This dissertation presents our research effort in creating a new class of plug-ins that addresses these shortcomings without hampering developers' productivity. Our approach achieves this goal by extending an IDE with new dimensions that allow developers to accomplish their tasks with familiar actions taken in different settings. More specifically, we present two Eclipse plug-ins, called Drag-and-Drop Refactoring and Tempura, that are designed to address the main problems of plug-in overload for different features; Drag-and-Drop Refactoring adds a new tactile dimension to an IDE's refactoring tools, and allows developers to bypass complex GUI-based invocation and configuration steps and perform refactorings by moving program elements directly, and Tempura adds a new temporal dimension to code completion and navigation functions in an IDE to allow developers to search for deleted classes, methods, and fields, therefore more intimately integrating version control support into the IDE platform. Our evaluations demonstrate that, compared to widely used substitutes, our tools allow developers to achieve their goals more efficiently and accurately.

Degree

thesis:*
Name thesis:degree_name
Ph.D.
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Computer Science
Grantor
University of Illinois at Urbana-Champaign
Year dc:date
2015

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Lee, Yun Young
Contributors dc:contributor
  • Johnson, Ralph E.
  • Marinov, Darko
  • Roşu, Grigore
  • Khurshid, Sarfraz

Subjects

dc:subject × 3

Rights

dc:rights
Statement dc:rights
  • Copyright 2014 Yun Young Lee
Language dc:language
en

Identifiers

dc:identifier.*
Handle dc:identifier
http://hdl.handle.net/2142/72932
OAI identifier oai:identifier
oai:www.ideals.illinois.edu:2142/72932

Chain of custody

source
Harvested from
University of Illinois - Urbana-Champaign
Base URL
www.ideals.illinois.edu/oai-pmh
Last updated
2026-07-22
Source record
OAI-PMH GetRecord
citation

Lee, Yun Young. Towards multi-dimensional integrated development environments for improved productivity. Dissertation thesis, University of Illinois at Urbana-Champaign, 2015. http://hdl.handle.net/2142/72932