1 / 1

University of Illinois at Urbana-Champaign

Composition-based Refactoring. Yalan Meng (ymeng7@illinois.edu) , Kyle Doren (doren1@illinois.edu) Mentor: Mohsen Vakilian. Purpose / Problems. Quick Assist Workflow. CodingSpectator Eclipse add-on that records use of refactoring tools

peony
Télécharger la présentation

University of Illinois at Urbana-Champaign

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Composition-based Refactoring YalanMeng(ymeng7@illinois.edu), Kyle Doren (doren1@illinois.edu) Mentor: Mohsen Vakilian Purpose / Problems Quick Assist Workflow • CodingSpectator • Eclipse add-on that records use of refactoring tools • Used by 26 developers for a total of about 1268 hours of programming Quick Assist Menu Select Proposal Open Menu • Eclipse Automated Refactoring Tools? • Rename • Move • Change Method Signature • Extract Method • Pull Up • .... Create Change Quick Assist Processor 2 1 Get Proposals Objectives / Goals Result / Discussion • Why are Automated Refactorings Not Used • Most programmers do it manually • Some don't even know tools existed • Tools are difficult to invoke • Configuration is complicated Extract Superclass Refactoring Screenshots • Introduce Parameter Refactoring • Eclipse bug 255123 • Goals: Learn source code and submit change to Eclipse... • Committing to Source Code • Received feedback from Eclipse developers • Improve the Introduce Parameter Quick Assist action to better handle changes to multiple files • Extract Superclass Refactoring • Large refactoring broken down into steps • Goals: make it easier for programmers to use this refactoring with existing tools • Our Experience • Learned and practiced the proper use of refactoring techniques and tools • Learned how to create a UI Prototype and then submit it to the programming community for feedback • Gained experience working with large scale open source project (reading other people's code!) • Plug-in Development • Create an add-on to Eclipse that uses the Quick Assist menu • Perform the refactoring through our plug-in code Acknowledgement References Thanks especially to our mentor Mohsen Vakilian! Thank you for all your hard work and helping us accomplish our project! Also thanks to the CodingSpectatorteam and your invaluable research! http://codingspectator.cs.illinois.edu/Homehttps://bugs.eclipse.org/bugs/show_bug.cgi?id=255123 http://www.vogella.com/articles/EclipsePlugIn/article.html http://blog.deepakazad.com/2012/03/contributing-quick-fix-and-quick-assist.html http://www.eclipse.org/articles/article.php?file=Article-JavaCodeManipulation_AST/index.html P.U.R.E Research Symposium Computer Science Department University of Illinois at Urbana-Champaign

More Related