Multiview research High Velocity Refactorings In Eclipse Emerson Murphy-Hill and Andrew P. Black Eclipse Technology Exchange October 21, 2007.

Slides:



Advertisements
Similar presentations
Tool-Support for Interdisciplinary and Collaborative User Interface Specification IADIS 2008 Amsterdam – Workgroup HCI University of Konstanz – Thomas.
Advertisements

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Testing and Quality Assurance
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS1: Overview of Operating Systems 1.1. Windows.
User Interface Design Yonsei University 2 nd Semester, 2013 Sanghyun Park.
MULTIVIE W Slide 1 (of 21) Removing Duplication from java.io: a Case Study using Traits Emerson R. Murphy-Hill, Philip J. Quitslund, Andrew P. Black Maseeh.
MULTIVIE W 1 Improving Refactoring with Alternative Program Views Emerson Murphy-Hill.
Usable Security (Part 1 – Oct. 30/07) Dr. Kirstie Hawkey Content primarily from Teaching Usable Privacy and Security: A guide for instructors (
November 2011CSC7302: Testing & MetricsAdvancedTestingTechniques.1 The hangman problem … the final challenge The rules of hangman have changed with respect.
Metrics Project and Process Metrics. Why do we measure? Assessing project status Allows us to track risks Before they go critical Adjust workflow See.
Visual Languages and Human-Centric Computing September 9, 2004 Managing Duplicated Code with Linked Editing Michael Toomim, Andrew Begel and Susan L. Graham.
SIMS 213: User Interface Design & Development Marti Hearst Thurs, March 13, 2003.
© The McGraw-Hill Companies, 2006 Chapter 9 Software quality.
1 Integrating User Feedback Log into Relevance Feedback by Coupled SVM for Content-Based Image Retrieval 9-April, 2005 Steven C. H. Hoi *, Michael R. Lyu.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Revision Control Practices in Software Engineering Surekha, Kotiyala Madhuri, Komuravelly Suchitra, Yerramalla.
Memory Allocation via Graph Coloring using Scratchpad Memory
Usability Evaluation of Digital Libraries Stacey Greenaway Submitted to University of Wolverhampton module Dec 15 th 2006.
CEN 4935 Senior Software Engineering Project Joe Voelmle.
Heuristic evaluation IS 403: User Interface Design Shaun Kane.
Foundations of Software Testing
CIS 2200 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College.
Human Computer Interaction Semester 1, 2013/2013.
Charmin Suttles TEC 542.  What is an interface? ◦ Thorsen(2009) describes an interface as “the consistent color, font style, and placement of informational.
November 2011CSC7302: Testing & MetricsRefactoring.1 Why Refactor? Imagine you’ve written a piece of code but then accidentally deleted and lost it. Questions:
Software Testing. Definition To test a program is to try to make it fail.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University What Kinds of.
System Design: Designing the User Interface Dr. Dania Bilal IS582 Spring 2009.
Software Engineering CS3003
Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet.
Tool for Sketching Statecharts (TSS) Shahla Almasri COMP 762B: Modelling and Simulation Based Design April 4 th, 2005 April 4 th,
CachingType Object AOM Patterns Categories Code is data, data is code... Everything is data, everything is code! Towards a Pattern Language for Adaptive.
Research methods for HCI, HCC Judy Kay CHAI: Computer Human Adapted Interaction School of Information Technologies.
Do tangible interfaces enhance learning? Richard Haines.
The Innovation- Decision Process. The conception and development of the iPod was a success for Apple, yet much work still needed to be done. Apple had.
Architectural Blueprints The “4+1” View Model of Software Architecture
Hipikat: A Project Memory for Software Development The CISC 864 Analysis By Lionel Marks.
HealthCoach4Me.com : Heuristics Presentation Dave Maruszewski & Shirley Carvalhedo.
How Are Java Software Developers Using the Eclipse IDE? SUMMARY BY: ZACHARY MCKIE.
An Object-Oriented Approach to Programming Logic and Design Fourth Edition Chapter 5 Arrays.
Human-Computer Interaction (HCI): Copyright 2002 © Kumar, Unuakhalu, Carigan Ashok Kumar Mike Unuakhalu Jim.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
1 The Modular Structure of Complex Systems Presented by: SeyedMasoud Sadjadi and Wei Zhu David L. Parnas, Paul C. Clement, and David M. Weiss ICSE 1984.
Cat Watch Helping you watch your furry friends Jackie Owdij Woodson April 13, 2012.
Presentation Software Using PowerPoint for Computerized and Online Presentations Dr. James Sidbury.
Research Methods in Human Computer Interaction Shahnewaz A. Jolly Instructor: Dr. Saul Greenberg 30th November,
Motivation Significant impact on public safety, health care, environment control, and manufacturing MIT Technology Review named wireless sensor networks.
Ypermodelling Reporting: Towards Cockpits for Code Structure Tim Frey, Uni Magdeburg.
With Jeff Gray and Ira Baxter Robert Tairas Visualization of Clone Detection Results Eclipse Technology Exchange Workshop OOPSLA 2006 Portland, Oregon.
Su-ting, Chuang 1. Outline Introduction Related work Hardware configuration Detection system Optimal parameter estimation framework Conclusion 2.
Presented by: Samia Azhar( ) Shahzadi Samia( )
CASE Tools CSC 532 : Advance Topics CSC 532 : Advance Topics Software Engineering Software Engineering Dr. box Dr. box Moayad Almohaishi Moayad Almohaishi.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS1: Overview of Operating Systems 1.1. Windows.
제 1 회 햅틱스 연구회 워크샵 인천대학교 컴퓨터공학과 성미영 교수
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 36 Behavior.
1 Modeling the Search Landscape of Metaheuristic Software Clustering Algorithms Dagstuhl – Software Architecture Brian S. Mitchell
Toolkits and Languages CSE 490JL Section Dec 1 st & 3 rd 2004 Richard C. Davis & Kate Everitt.
Static Analysis Introduction Emerson Murphy-Hill.
Visualizing Individuals and their Social Interactions Hoang Dang.
Ten Usability Heuristics These are ten general principles for user interface design. They are called "heuristics" because they are more in the nature of.
معرفی مجموعه‌ای از الگوهای فرآيند مخصوص نرم‌افزارهای بی‌درنگ
Gesture Input and Gesture Recognition Algorithms
Development of an Open Matrix Emme Integration Tool
BRAIN Alliance Research Team Annual Progress Report (Jul – Feb
User Experience Strategies for Winning API Documentation
ISO/IEC JTC 1/SC 7 Working Group 42 - Architecture Johan Bendz
Usability Benefits Quiz
Creative Writer’s Editor
Program Usability Based on the Perception of Bugs as Features
Topic 14: Jacob O. Wobbrock, Andrew D. Wilson, and Yang Li. 2007
Presentation transcript:

multiview research High Velocity Refactorings In Eclipse Emerson Murphy-Hill and Andrew P. Black Eclipse Technology Exchange October 21, 2007

multiview research Background Refactoring is restructuring code without changing behavior Refactoring tools semi-automate the process of refactoring Refactoring tools are important because they promise to be fast and accurate

multiview research The Problem Refactoring tools are too slow 40% of developers say they can refactor faster by hand Tools don’t always fit well with add-refactor- add-refactor workflow

multiview research The Cause of the Problem Activation is slow: Selection Initiation Configuration

multiview research Selection Error prone Typically single-element refactoring only Not obvious what to select

multiview research Initiation Menus big Hotkeys hard to remember

multiview research Configuration Obstructs code view Forces configuration (<25% useful)

multiview research Solution 1: Refactoring Marking Menus

multiview research Solution 2: Refactoring Cues

multiview research Evaluation Refactoring Marking Menus Previous results: faster, a little more accurate Memory results: intuitive to initiate Refactoring Cues Demonstration of operational equivalence, but better in significant cases Opinions at OSCON 2007 People willing to try

multiview research Future Work Integrate marking menus and refactoring cues Cues are hard to see at depth Pick better cue colors Duplication display in cues Larger refactoring process

multiview research Contributions A consistent selection mechanism that almost eliminates errors A tool that allows multiple refactorings An fast, memorable initiation mechanism Guidelines for building more usable tools

multiview research Questions? (see the poster!)

multiview research References Callahan, J., Hopkins, D., Weiser, M., and Shneiderman, B 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, Fowler, M Refactoring: Improving the Design of Existing Code. Addison-Wesley Publishing Co., Inc. Hong, J. I. and Landay, J. A 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. Kurtenbach, G. and Buxton, W 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. Kurtenbach, G. and Buxton, W 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. Murphy, G. C., Kersten, M., and Findlater, L How Are Java Software Developers Using the Eclipse IDE?. IEEE Software. 23, 4 (July 2006), 76–83. Murphy-Hill, E 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. Murphy-Hill, E. and Black, A Why don’t people use refactoring tools? In Proc. of the 1st Workshop on Refactoring Tools. ECOOP ’07. TU Berlin, ISSN Tapia, M. A. and Kurtenbach, G 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. Weißgerber, P. and Diehl, S 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. Xing, Z. and Stroulia, E 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.