© 2005 University of British Columbia 1..20 mylar a degree-of-interest model for IDEs Mik Kersten Gail Murphy University of.

Slides:



Advertisements
Similar presentations
Behzad Samin 0 An End-to-End Overview of a RESTful Web Service.
Advertisements

ProAssist ® complex assistance services management system Global Assistance & INGENIUM Praha.
Search in Source Code Based on Identifying Popular Fragments Eduard Kuric and Mária Bieliková Faculty of Informatics and Information.
R2: An application-level kernel for record and replay Z. Guo, X. Wang, J. Tang, X. Liu, Z. Xu, M. Wu, M. F. Kaashoek, Z. Zhang, (MSR Asia, Tsinghua, MIT),
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
Clipping Lists & Change Borders: Improving Multitasking Efficiency with Peripheral Information Design Mary Czerwinski George Robertson Desney Tan Microsoft.
For Eclipse users Integrates task management Automates context management For developers and integrators Provides framework for tasks and contexts Mik.
CBio Meeting, March 2-3, 2006 CHISEL Group Dept of Computer Science University of Victoria, Canada Visualization of ontologies and data annotations.
V0.1 Inclusive and Accessible Application Design June 21, 2012.
T-FLEX DOCs PLM, Document and Workflow Management.
1 The JQuery Tool A Generic Query-Based Code browser for Eclipse Project leaders: Kris De Volder, Gregor Kiczales Students: Doug Janzen, Rajeswari Rajagopalan,
Software Practices Lab. -- The University of British Columbia 1 The JQuery Tool A Generic Query-Based Code browser for Eclipse Project leaders: Kris De.
University of British Columbia Software Practices Lab Task-focused programming with Mylar Gail C. Murphy Joint work with Mik Kersten This talk describes:
University of British Columbia Software Practices Lab ECOOP 2005 The Emergent Structure of Development Tasks Gail Murphy Joint work with Mik Kersten, Martin.
JQuery with Multiple Views Adding Context to Navigation and Querying of Code.
Navigating Working Sets Brad Myers D: Human Aspects of Software Development (HASD) Spring, Copyright © 2011 – Brad Myers.
Front and Back End: Webpage and Database Management Prepared by Nailya Galimzyanova and Brian J Kapala Supervisor: Prof. Adriano Cavalcanti, PhD College.
Prefuse: A Toolkit for Interactive Information Visualization Jeffrey Heer Stuart K. Card James A. Landay CHI2005.
UI Standards & Tools Khushroo Shaikh.
Frank Hutter, Holger Hoos, Kevin Leyton-Brown
UBC CS-533C Presentation, pathfinder focus+context for java program navigation Mik Kersten University of British Columbia.
DiffIE: Changing How You View Changes on the Web DiffIE: Changing How You View Changes on the Web Jaime Teevan, Susan T. Dumais, Daniel J. Liebling, and.
Discussion topics… Software engineering approach Technical options –Ajax –Java Webstart –Java Applets Visualization techniques.
Semantic Scrolling How to navigate structured documents.
Tool Reduces information overload Makes multi-tasking easy Framework How it works Integrating and extending Integration Showcase of extensions Task-Focused.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Enterprise Reporting with Reporting Services SQL Server 2005 Donald Farmer Group Program Manager Microsoft Corporation.
© 2005 UBC; made available under the EPL v1.0 mylar a degree-of-interest model for eclipse Mik Kersten Gail Murphy Shawn.
Editing With ArcGIS Pro
Brian de Alwis and Gail Murphy Dept of Computer Science University of British Columbia, Canada Presented at the International Conference on Software Engineering.
Crystal And Elliott Edward M. Kwang President. Crystal Version Standard - $145 Professional - $350 Developer - $450.
Oracle9 i JDeveloper for Database Developers and DBAs Brian Fry Principal Product Manager Oracle JDeveloper Oracle Corporation.
Introducing Axis2 Eran Chinthaka. Agenda  Introduction and Motivation  The “big picture”  Key Features of Axis2 High Performance XML Processing Model.
Mylyn Release Review | © 2008 by Mylyn Committers, made available under the EPL v1.0 1 Mylyn 2.3 Release Review Mik Kersten February 27, 2008.
Mylyn Release Review | © 2008 by Mylyn Committers, made available under the EPL v1.0 1 Mylyn 3.0 Release Review Mik Kersten June 4, 2008.
PLATFORM INDEPENDENT SOFTWARE DEVELOPMENT MONITORING Mária Bieliková, Karol Rástočný, Eduard Kuric, et. al.
Change Impact Analysis for AspectJ Programs Sai Zhang, Zhongxian Gu, Yu Lin and Jianjun Zhao Shanghai Jiao Tong University.
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
For Eclipse users Reduces information overload For developers and integrators Provides framework for tasks and contexts Mik Kersten, project lead EclipseCon,
Aspect Oriented Programming Sumathie Sundaresan CS590 :: Summer 2007 June 30, 2007.
Mylyn The Task-Focused Interface Mik Kersten, Tasktop President & CTO, Mylyn Project Lead.
How Are Java Software Developers Using the Eclipse IDE? SUMMARY BY: ZACHARY MCKIE.
Mik Kersten and Gail C. Murphy Foundations of Software Engineering Conference, November 7, 2006 Using Task Context to Improve Programmer Productivity Note:
© 2005 UBC; made available under the EPL v1.0 mylar project creation review may 9, 2005.
Personalized Search Xiao Liu
IBM User TechnologyNovember 2004 | DITA Specialization © 2004 IBM Corporation Principles of DITA Specialization: Extending the base Erik Hennum for IBM.
Mobile web Sebastian Lopienski IT Technical Forum 29 June 2012.
Connecting Task to Source Gail C. Murphy Department of Computer Science University of British Columbia Includes joint work with: Elisa Baniassad, University.
Mik Kersten Thesis defense December 15, 2006 Focusing Knowledge Work with Task Context.
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.
INRIA - Progress report DBGlobe meeting - Athens November 29 th, 2002.
Structure and Function: IA for Web Applications. Innovate - For What’s Next™ ©1999 Scient, Proprietary and Confidential Page 2 Structure - IA with content.
aspectj tools new and noteworthy Mik Kersten University of British Columbia Adrian Colyer IBM Hursley OOPSLA, October
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
Mylar Release Review | © 2006 by UBC, made available under the EPL v1.0 1 Mylar 1.0 Release Review Mik Kersten Rob Elves November 22, 2006.
University of British Columbia Software Practices Lab Uniform Support for Modeling Crosscutting Structure Maria Tkatchenko Gregor Kiczales Work supported.
Document Clustering for Natural Language Dialogue-based IR (Google for the Blind) Antoine Raux IR Seminar and Lab Fall 2003 Initial Presentation.
aspectj tools new and noteworthy Mik Kersten University of British Columbia Andy Clement, George Harley IBM Hursley Labs.
Eclipse 27-Apr-17.
1 Developing for Test Automation and Accessibility Using Programmatic Access to the UI Thomas Logan FUN307 Program Manager Microsoft Corporation.
Jaime Teevan MIT, CSAIL The Re:Search Engine. “Pick a card, any card.”
The Emergent Structure of Development Tasks
Working with Feature Layers
Shankar Chandrasekaran
What’s New in Colectica 5.3 Part 1
ArcGIS Data Reviewer: Quality Assessment for Elevation Raster Datasets
Martin Rajman, EPFL Switzerland & Martin Vesely, CERN Switzerland
Orchestrating Intelligent Systems
Mylar: a Task Focused UI for Eclipse
MAPO: Mining and Recommending API Usage Patterns
Presentation transcript:

© 2005 University of British Columbia mylar a degree-of-interest model for IDEs Mik Kersten Gail Murphy University of British Columbia AOSD 2005

© 2005 University of British Columbia Programming tasks crosscut modularity - IDEs only show system-wide slices of modularity - The larger the system is the worse it gets What if improve the modularity of the program?

© 2005 University of British Columbia

© 2005 University of British Columbia Mylar shows you only what you’re working on 1a. Aluminized film used to avoid blindness when staring at a solar eclipse 1b. UI ‘skin’ used to avoid information blindness when staring at Eclipse 1

© 2005 University of British Columbia Short demo Degree of interest model Validation Discussion Mylar

© 2005 University of British Columbia Demo 1 Setup –AddressBookTest. testAsyncOPs Here we are with same task Navigate to WSIFMessage, then back Navigate to AsyncResponseHandler, show model Toggle outline, raise children –Just to remind you what the problem is Show declarations on AsyncResponseHandler Message –You had to do this stuff explicitly before –Same features as user study +folding

© 2005 University of British Columbia Mylar Short demo –Task context is explicit, surfaced in IDE views Degree of interest model Validation Discussion

© 2005 University of British Columbia Degree of interest model Inspired by Stu Card’s tree visualization –Interest function defines which nodes are hidden Mylar –Interest is associated with program elements –Interest is a function of interaction history Each navigation and edit increment interest After each event interest decays

© 2005 University of British Columbia How does it work? public WSIFMessage[] getOutputs() { return outputs; } selectionseditsdecayDOI A=1, B=.2, C=.1 return verify(outputs); … public WSIFMessage[] getOutputs() DOI(e) = A*(e.selections) + B*(e.edits) – C*(e.decay)

© 2005 University of British Columbia How is this implemented? Interest stored for each element –Index of handles to structure nodes Performance –Inherently lazy and lightweight structure –Reduces footprint by limiting view population Model lifecycle –Scaling factors determine stability –Thresholds: interesting, very interesting, purge Simple kernel –Easy to build on and extend

© 2005 University of British Columbia Mylar Example and short demo –Task context is explicit, surfaced in IDE views Degree of interest model –Represents relevance of elements to task –Determined through interaction history Validation Discussion

© 2005 University of British Columbia Validating the interest model Making task context explicit –Can it be extracted and surfaced effectively? –Does it make programmers more productive? Bigger systems mean worse overload –Needed real developers working on big systems Diary study –6 senior IBM enterprise app developers used Mylar for their daily work –Qualitative data: daily survey, interviews –Quantitative data: usage statistics –3 days baseline, 5 days Mylar –Not forced to use Mylar

© 2005 University of British Columbia Usage statistics Mylar views were used more than the standard Eclipse views –Outline was not initially turned on by all, once turned on used instead of standard Outline OutlinePackage ExplorerProblems List selections

© 2005 University of British Columbia Feedback All reported that Mylar accurately represented task context –Some disliked the highlighting scheme Liked drastic reduction in scrolling Key shortcoming was inability to understand task switching –Erase model when starting on a new task But did it make the programmers more productive?

© 2005 University of British Columbia Results: edit ratio Edit ratio = keystrokes / selections Higher ratio implies more time working on task and less time looking for information needed for task –Less browsing elements and scrolling –Less search invocation and result selection Improvement across users was 15% –Conservative due to different tasks in baseline and study One programmer had 40% of logged usage –Her edit ratio improved 49% Results are not conclusive, but promising –All perceived a significant improvement in their edit ratio

© 2005 University of British Columbia Example and short demo –Task context is explicit, surfaced in IDE views Degree of interest model –Encoding of interaction history –Represents relevance of elements to task Validation –Task context can be extracted and exposed –Promising for increasing productivity Discussion Mylar

© 2005 University of British Columbia Once task context is explicit… Treat parts of your system as a unit Do operations on them –Work with multiple tasks contexts Save and restore Union and intersect –Predict interest of related elements API clients Overriding methods Advice c d b c b a

© 2005 University of British Columbia Inheritance and crosscutting context Inheritance context –Eclipse shows hierarchy for single type, invoke and wait –Active Type Hierarchy shows inheritance modularity for a task, eagerly populated Crosscutting context –Standard view shows all the crosscutting declarations and relationships in a system –Mylar shows the crosscutting modularity for a task

© 2005 University of British Columbia Related approaches Previous efforts have all focused on the programmer saying what their context is –Query tools such as FEAT and JQuery Mylar determines task context –By monitoring developer activity –Creating a degree-of-interest model

© 2005 University of British Columbia Summary Task context crosscuts system structure –Causes IDE views to become overloaded Can be extracted from the interaction history –Can operate on the task context –Make it explicit in IDE views to reduce information overload Funded by IBM CAS, NSERC, UBC or Google: “mylar eclipse”