Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1328279.1328280acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

High velocity refactorings in Eclipse

Published: 21 October 2007 Publication History

Abstract

In Eclipse, and in most other development environments, refactorings are activated by selecting code, then using a menu or hotkey, and finally engaging in a dialog with a "wizard". However, selection is error-prone, menus are slow, hotkeys are hard to remember, and wizards are time-consuming. The problem is that as a consequence, refactoring tools disrupt the programmer's workflow and are perceived to be slower than refactoring by hand. In this paper we present two new user interfaces to Eclipse's existing refactoring engine: marking menus and refactoring cues. Both are designed to increase programming velocity by keeping the tool out of the programmer's way.

References

[1]
Callahan, J., Hopkins, D., Weiser, M., and Shneiderman, B. 1988. An empirical comparison of pie vs. linear menus. In Proc. of the SIGCHI Conference on Human Factors in Computing Systems (Washington, D.C., United States, May 1988). J. J. O'Hare, Ed. CHI '88. ACM Press, New York, NY, 95--100.
[2]
de Alwis, B. and Murphy, G. C. 2006. Using Visual Momentum to Explain Disorientation in the Eclipse IDE. In Proc. of the Visual Languages and Human-Centric Computing (September 2006). VLHCC '06. IEEE Computer Society, Washington, DC, 51--54.
[3]
Fowler, M. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley Publishing Co., Inc.
[4]
Hong, J. I. and Landay, J. A. 2000. SATIN: a toolkit for informal ink-based applications. In Proc. of the 13th Annual ACM Symposium on User interface Software and Technology (San Diego, California, United States, November 2000). UIST '00. ACM Press, New York, NY, 63--72.
[5]
IDEA Mouse Gestures. Accessed August 2007. http://www.smardec.com/products/idea.html.
[6]
Kurtenbach, G. and Buxton, W. 1993. The limits of expert performance using hierarchic marking menus. In Proc. of the INTERCHI '93 Conference on Human Factors in Computing Systems (Amsterdam, The Netherlands). S. Ashlund, A. Henderson, E. Hollnagel, K. Mullet, and T. White, Eds. IOS Press, Amsterdam, The Netherlands, 482--487.
[7]
Kurtenbach, G. and Buxton, W. 1994. User learning and performance with marking menus. In Conference Companion on Human Factors in Computing Systems (Boston, Massachusetts, United States, April 1994). C. Plaisant, Ed. CHI '94. ACM Press, New York, NY, 218.
[8]
Lommerse, G., Nossin, F., Voinea, L., and Telea, A. 2005. The Visual Code Navigator: An Interactive Toolset for Source Code Investigation. In Proc. of the 2005 IEEE Symposium on Information Visualization (October 2005). INFOVIS '05. IEEE Computer Society, Washington, DC, 4.
[9]
Mouse Gestures Plugin to Netbeans. Accessed August 2007. https://mousegestures.dev.java.net.
[10]
Murphy, G. C., Kersten, M., and Findlater, L. 2006. How Are Java Software Developers Using the Eclipse IDE?. IEEE Software. 23, 4 (July 2006), 76--83.
[11]
Murphy-Hill, E. 2006. Improving usability of refactoring tools. In Companion To the 21st ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (Portland, Oregon, USA, October 2006). OOPSLA '06. ACM Press, New York, NY, 746--747.
[12]
Murphy-Hill, E. and Black, A. 2007. Why don't people use refactoring tools? In Proc. of the 1st Workshop on Refactoring Tools. ECOOP '07. TU Berlin, ISSN 1436--9915.
[13]
Osawa, N., Asai, K., Sugimoto, Y. Y., and Saito, F. 2001. A Dancing Programmer in an Immersive Virtual Environment. In Proc. of the IEEE 2001 Symposia on Human Centric Computing Languages and Environments (HCC'01) (September 2001). HCC '01. IEEE Computer Society, Washington, DC, 348.
[14]
Perera, R. 2004. Refactoring: to the rubicon. and beyond!. In Companion to the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (Vancouver, BC, Canada, October 2004). OOPSLA '04. ACM Press, New York, NY, 2--3.
[15]
Pook, S., Lecolinet, E., Vaysseix, G., and Barillot, E. 2000. Control menus: execution and control in a single interactor. In CHI '00 Extended Abstracts on Human Factors in Computing Systems (The Hague, The Netherlands, April 2000). CHI '00. ACM Press, New York, NY, 263--264.
[16]
Roberts, D., Brant, J., and Johnson, R. 1997. A refactoring tool for Smalltalk. Theory and. Practice of Object Systems 3, 4 (October 1997), 253--263.
[17]
Tapia, M. A. and Kurtenbach, G. 1995. Some design refinements and principles on the appearance and behavior of marking menus. In Proc. of the 8th Annual ACM Symposium on User interface and Software Technology (Pittsburgh, Pennsylvania, United States, November 1995). UIST '95. ACM Press, New York, NY, 189--195.
[18]
Weißgerber, P. and Diehl, S. 2006. Are refactorings less error-prone than other changes?. In Proc. of the 2006 International Workshop on Mining Software Repositories (Shanghai, China, May 22--23, 2006). MSR '06. ACM Press, New York, NY, 112--118.
[19]
Xing, Z. and Stroulia, E. 2006. Refactoring Practice: How it is and How it Should be Supported---An Eclipse Case Study. In Proc. of the 22nd IEEE international Conference on Software Maintenance (September 2006). ICSM '06. IEEE Computer Society, Washington, DC, 458--468.

Cited By

View all
  • (2021)The Usability (or Not) of Refactoring Tools2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER50967.2021.00030(237-248)Online publication date: Mar-2021
  • (2020)Graph Based Mining of Code Change Patterns from Version Control CommitsIEEE Transactions on Software Engineering10.1109/TSE.2020.3004892(1-1)Online publication date: 2020
  • (2019)On the fly synthesis of edit suggestionsProceedings of the ACM on Programming Languages10.1145/33605693:OOPSLA(1-29)Online publication date: 10-Oct-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
eclipse '07: Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange
October 2007
79 pages
ISBN:9781605580159
DOI:10.1145/1328279
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 October 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. environments
  2. refactoring
  3. tools
  4. usability

Qualifiers

  • Research-article

Funding Sources

Conference

OOPSLA07
Sponsor:

Acceptance Rates

Overall Acceptance Rate 38 of 79 submissions, 48%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2021)The Usability (or Not) of Refactoring Tools2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER50967.2021.00030(237-248)Online publication date: Mar-2021
  • (2020)Graph Based Mining of Code Change Patterns from Version Control CommitsIEEE Transactions on Software Engineering10.1109/TSE.2020.3004892(1-1)Online publication date: 2020
  • (2019)On the fly synthesis of edit suggestionsProceedings of the ACM on Programming Languages10.1145/33605693:OOPSLA(1-29)Online publication date: 10-Oct-2019
  • (2012)WitchDoctor: IDE support for real-time auto-completion of refactoringsProceedings of the 34th International Conference on Software Engineering10.5555/2337223.2337250(222-232)Online publication date: 2-Jun-2012
  • (2012)How We Refactor, and How We Know ItIEEE Transactions on Software Engineering10.1109/TSE.2011.4138:1(5-18)Online publication date: 1-Jan-2012
  • (2012)WitchDoctor: IDE support for real-time auto-completion of refactorings2012 34th International Conference on Software Engineering (ICSE)10.1109/ICSE.2012.6227191(222-232)Online publication date: Jun-2012
  • (2009)How we refactor, and how we know itProceedings of the 31st International Conference on Software Engineering10.1109/ICSE.2009.5070529(287-297)Online publication date: 16-May-2009
  • (2008)Breaking the barriers to successful refactoringProceedings of the 30th international conference on Software engineering10.1145/1368088.1368146(421-430)Online publication date: 15-May-2008
  • (2008)Refactoring ToolsIEEE Software10.1109/MS.2008.12325:5(38-44)Online publication date: 1-Sep-2008

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media