Seminar on empirical paper: “Eliciting Design Requirements for Maintenance-Oriented IDEs: A Detailed Study of Corrective and Perfective Maintenance Tasks”

Slides:



Advertisements
Similar presentations
HOW DO PROFESSIONAL DEVELOPERS COMPREHEND TO SOFTWARE Report submitted by Tobias Roehm, Rebecca Tiarks, Rainer Koschke, Walid Maalej.
Advertisements

Cognitive Walkthrough More evaluation without users.
15/05/2015Dr Andy Brooks1 MSc Software Maintenance MS Viðhald Hugbúnaðar Fyrirlestrar 31 & 32 Maintenance-Oriented IDEs.
Diary studies Rikard Harr November 2010 © Rikard Harr Outline The Diary study: benefits, challenges and alternatives The papers: aims and use of.
Small Displays Nicole Arksey Information Visualization December 5, 2005 My new kitty, Erwin.
Eike Send, 1 Seminar „Komponenten“ Empiricism in Computer Science Eike Send Freie Universität Berlin, Institut für Informatik
Navigating Working Sets Brad Myers D: Human Aspects of Software Development (HASD) Spring, Copyright © 2011 – Brad Myers.
HCI Methods for Pathway Visualization Tools Purvi Saraiya, Chris North, Karen Duca* Virginia Tech Dept. of Computer Science, Center for Human-Computer.
Evaluation Adam Bodnar CPSC 533C Monday, April 5, 2004.
Report of the CMU Natural Programming Group Brad Myers, Andy Ko, Jeff Stylos, Michael Coblenz, Brian Ellis, Polo Chao Carnegie Mellon University.
Evaluating a Fisheye View of Source Code Mikkel Rønne Jakobsen & Kasper Hornbæk Department of Computing University of Copenhagen Copenhagen East, Denmark.
1 Web Site Design Customer Centered Design Principles Patterns and Processes Dr. Carl Rebman.
Web Design Process CMPT 281. Outline How do we know good sites from bad sites? Web design process Class design exercise.
PHP Basics Polly, Sanser and Young R547, Fall 2002.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
Introduction to VB.NET Tonga Institute of Higher Education.
Designing Learning Objects Designing Learning Objects Designing Learning Objects 1.
Multimedia CALL: Lessons to Be Learned from Research on Instructed SLA Carol A. Chapelle Presenters: Thorunn April.
Hipikat: A Project Memory for Software Development The CISC 864 Analysis By Lionel Marks.
Seungwon Yang, Haeyong Chung, Chris North, and Edward A. Fox Virginia Tech, Blacksburg, VA USA 1ETD 2010, June 16-18, Austin, TX.
Why do we need good user interfaces?. Goals of User Interfaces Usable – how much effort to do a task? – example: often-used buttons easier to find – example:
Debug Concern Navigator Masaru Shiozuka(Kyushu Institute of Technology, Japan) Naoyasu Ubayashi(Kyushu University, Japan) Yasutaka Kamei(Kyushu University,
1 Asking and Answering Questions during a Programming Change Task, By Jonathan Sillito, Member, IEEE, Gail C. Murphy, Member, IEEE, and Kris De Volder.
Elucidative Programming Kurt Nørmark Aalborg University Denmark SIGDOC September 2000.
Hassen Grati, Houari Sahraoui, Pierre Poulin DIRO, Université de Montréal Extracting Sequence Diagrams from Execution Traces using Interactive Visualization.
Eclipse and JUnit. Eclipse Terms The Workbench Perspective –Collection of editors and views –Exampes: Java Pers., Debugging Persp. Editors (create a file)
APCS Nguyen Ngoc Dan Vy – Tran Thi Hong Diem – Instructor: Do Lenh Hung Son.
Mik Kersten Mylyn Project Lead, Tasktop President & CTO BZ Media Webinar, July , made available under the EPL v1.0 Eclipse 3.3 and Mylyn 2.0.
“Isolating Failure Causes through Test Case Generation “ Jeremias Rößler Gordon Fraser Andreas Zeller Alessandro Orso Presented by John-Paul Ore.
Agenda Using vi Editor Starting vi Session Command / Input Modes Entering Text Editing Text Saving Edited File Aborting Editing Session.
A HUMAN STUDY OF FAULT LOCALIZATION ACCURACY Zachary P. Fry Westley Weimer University of Virginia September 16, 2010.
Producing better results through better organization.
Click the pictures to advance to next slide Use the left arrow to go back.
The Whats and Hows of Programmers’ Foraging Diets David Piorkowski 1, Scott Fleming 2, Irwin Kwan 1 Margaret Burnett 1, Chris Scaffidi 1, Rachel Bellamy.
To Fix or to Learn? How Production Bias Affects Developers’ Information Foraging during Debugging 1 David Piorkowski 1 Scott D. Fleming 2 Christopher Scaffidi.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
Wrapper Classes Debugging Interlude 1
GCE Software Systems Development
Modeling Programmer Navigation
How Programmers Debug, Revisited: An Information Foraging Theory Perspective Joseph Lawrance, Christopher Bogart, Margaret Burnett, Senior Member, IEEE,
Getting Started with SAM
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Eclipse Plug-in for Authoring and Debugging Higher-order Rewriting
David Shepherd, Zachary P. Fry, Emily Hill, Lori Pollock, and K
Guide To UNIX Using Linux Third Edition
Producing better results through better organization
Microsoft Word 2003 Illustrated Complete
The Steps into creation of research
Eclipse 20-Sep-18.
Getting Started with Microsoft Office 2010
SWE-795 Presentation 01 11/16/2018 Asking and Answering Questions during a Programming Change Task Jonathan Sillito, Member, IEEE Computer Society, Gail.
Microsoft Word - Formatting Pages
Debugging 9/22/15 & 9/23/15 Imagine! Java: Programming Concepts in Context by Frank M. Carrano, (c) Pearson Education - Prentice Hall, 2010.
Authors’ names to be inserted here, one or two lines in total
STUDY NAME TO BE PLACED UP HERE IN THE POSTER, PROBABLY WITH TWO TO FOUR LINES IN TOTAL OF THIS POSTER TEMPLATE FOR IDCCM USING POWERPOINT Add other.
Authors’ names to be inserted here, one or two lines in total
United Kingdom SDGs Reporting Platform
HCI – Lesson 7 USABILITY Homework Prof. Garzotto.
Figure 11-1.
LO4 – New This Year and Find Out More
Advanced Debugging With Visual Studio & OzCode
Figure Overview.
Figure Overview.
Producing better results through better organization
The Bugs Bunny Effect
MAPO: Mining and Recommending API Usage Patterns
Opposition Why? How? Formalities.
Programming Logic and Design Eighth Edition
Presentation transcript:

Seminar on empirical paper: “Eliciting Design Requirements for Maintenance-Oriented IDEs: A Detailed Study of Corrective and Perfective Maintenance Tasks” by Ko et al. (2005) Presented by Scott Fleming Wed 27 Aug 2014

Problem Developers spend considerable time reading and navigating code during maintenance maintenance = 60-90% of development cost But recent tools have focused on creation of code Example: Eclipse (quibble quibble) Goal: Better understand how developers navigate and provide implications for design

High-Level Approach Observational study of Java programmers Based on findings, propose IDE design

Method: Empirical Study Participants: 10 Expert(-ish) Java programmers Tasks: Five maintenance tasks 70 min to complete Environment: Eclipse Interruptions included for realism Data collected: Video (mainly) Analysis method: Qualitative coding

Overview of Results Maintenance interleaves 3 activities: Collecting task-relevant code fragments—a working set Navigating dependencies between fragments Repairing/creating code Excessive time: Navigating between dependencies Inspecting irrelevant code

Evidence of working sets Some programmers started tasks, switched to easier ones, and then switched back When switching away, they lost their tabs (working sets) They spent avg of 60 seconds recovering tabs when they switched back

Evidence of dependency navigations Avg 65 deps navigated in 70 min—almost 1 per min Types of deps navigated: Direct (58%) Table 4 from the paper

Evidence of considerable time navigating “Glancing” over direct dependencies costly Avg 27% of direct dep navs returned to code just navigated from Searched avg 9 seconds before finding prev location Indirect navs costly Example: Each programmers spent avg 10 min total visually searching files (14% of their time) Example: Scrolling in package explore and searching tabs cost each programmer avg 5 min total (7% of their time) TOTAL COST: 19 min (35% of 70 min) on nav alone!

Evidence of considerable time spent inspecting irrelevant code 88% of programmers’ hypotheses about cause of bug were false Programmers spent avg of 25 min (out of 70) inspecting task-irrelevant code

Evidence of more time wasted Misleading feedback in Eclipse Bad syntax error highlighting Long line hid the defective code Copy/paste errors In 10% of copies, programmers forgot to change refs (vis. indistinct or off screen)

Discussion: Empirically Based Requirements First two noteworthy—Mylyn and CodeBubbles Table 5 from the paper

Discussion: Design That Satisfies Reqs Fragments instead of files Sets of working sets (1) Supporting reading (2-5) Visualizing dependencies (6-9) Context in-place (press meta key to see code surrounding fragments) Working sets from questions (10) Figure 10 from the paper

Conclusion Empirical findings IDE requirements/design 3 key activities Excessive time wasted IDE requirements/design The End – Thank You!