Debugging in End- User Software Engineering summarized by Andrew Ko Toward Sharing Reasoning to Improve Fault Localization in Spreadsheets Joey Lawrance,

Slides:



Advertisements
Similar presentations
TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Advertisements

You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
Finding The Unknown Number In A Number Sentence! NCSCOS 3 rd grade 5.04 By: Stephanie Irizarry Click arrow to go to next question.
Advanced Piloting Cruise Plot.
Chapter 7 System Models.
Requirements Engineering Process
Chapter 1 The Study of Body Function Image PowerPoint
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
UNITED NATIONS Shipment Details Report – January 2006.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Tutorial 3 – Creating a Multiple-Page Report
Tutorial 9 – Creating On-Screen Forms Using Advanced Table Techniques
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Addition Facts
Year 6 mental test 5 second questions
Richmond House, Liverpool (1) 26 th January 2004.
Configuration management
Software change management
HTML Tags and Their Functions
Testing Workflow Purpose
ABC Technology Project
1 An Introduction to Pivot Tables Using Excel 2000.
1 Lesson 10 Working with Tables Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
Word Lesson 7 Working with Documents
Vanderbilt Business Objects Users Group 1 Reporting Techniques & Formatting Beginning & Advanced.
Review Chapter 11 - Tables © 2010, 2006 South-Western, Cengage Learning.
Pivot Tables Overview 1. What are Pivot Tables Pivot tables in Excel are a versatile reporting tool that makes it easy to extract information from large.
Use Case Diagrams.
1 What is JavaScript? JavaScript was designed to add interactivity to HTML pages JavaScript is a scripting language A scripting language is a lightweight.
VOORBLAD.
April 30, A New Tool for Designer-Level Verification: From Concept to Reality April 30, 2014 Ziv Nevo IBM Haifa Research Lab.
Benchmark Series Microsoft Excel 2013 Level 2
0 Teams: Roles of Group Members. 1 What is a team? Two or more people ……….
Software Requirements
Identifying Our Own Style Extended DISC ® Personal Analysis.
Chapter 5 Microsoft Excel 2007 Window
© 2012 National Heart Foundation of Australia. Slide 2.
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Executional Architecture
Chapter 5 Test Review Sections 5-1 through 5-4.
SIMOCODE-DP Software.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
Macromedia Dreamweaver MX 2004 – Design Professional Dreamweaver GETTING STARTED WITH.
Addition 1’s to 20.
Pasewark & Pasewark Microsoft Office XP: Introductory Course 1 INTRODUCTORY MICROSOFT WORD Lesson 8 – Increasing Efficiency Using Word.
25 seconds left…...
Januar MDMDFSSMDMDFSSS
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
Week 1.
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Excel Lesson 15 Working with Auditing and Analysis Tools Microsoft Office 2010 Advanced Cable / Morrison 1.
A SMALL TRUTH TO MAKE LIFE 100%
PSSA Preparation.
How Cells Obtain Energy from Food
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpreting Classifying languages The process of programming.
Chapter 8 Improving the User Interface
Benchmark Series Microsoft Excel 2013 Level 2
Presentation transcript:

Debugging in End- User Software Engineering summarized by Andrew Ko Toward Sharing Reasoning to Improve Fault Localization in Spreadsheets Joey Lawrance, Margaret Burnett, Robin Abraham, and Martin Erwig End-User Programming Productivity Tools Andrew Ko, Brad Myers, Michael Coblenz, and Jeff Stylos End User Software Engineering: Auditing the Invisible Joshua Gross

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions 2 Errors in EUSE prevent errors during implementation detect errors during testing understand errors during debugging remove errors once found Tools have helped end users:

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Prevention 3 Error Prevention What can tools do to prevent errors? Design new languages, abstractions, and interaction techniques to make errors impossible or unlikely.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Prevention 4 Gencel (Erwig et al.) Prevents illegal row and column operations by using a model of the spreadsheet structure.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Prevention 5 Click! (Rode, Rosson et al.) Introduces new abstractions to allow people to develop web applications without having to write code.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Prevention 6 Chickenfoot (Bolin, Miller) Provides a front end to more complex Javascript code for scripting interactions. Also simplifies how users refer to structures on a web page, by using simple names.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Prevention 7 Alice 2 (Pausch et al.) Drag and drop interactions prevent all syntax and type errors, by only allowing legal transformations.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Prevention 8 Barista (Ko, Myers) A Barista-based Java editor Enables editor designers to have more freedom over the visual representation of code, while still providing familiar text editing interaction techniques. Tuesday, 11:30!

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Prevention 9 Limitations Languages are often less powerful. Interaction techniques are sometimes more cumbersome. Are these tradeoffs, or can these be powerful, flexible, and protective?

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Detection 10 Error Detection Once an error is inserted into a program, what can tools do to help detect it? Analyze, infer, annotate, and propagate.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Detection 11 WYSIWYT (Burnett et al.) What you see is what you test Users verify cell values, and verification propagates to related cells. Colors represent a cells testedness, helping users find cells that havent been tested much.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Detection 12 Forms/3 Assertions Users supply valid ranges for cells, system guesses valid ranges for cells, and the two ranges propagate and sometimes conflict. Provides a means of drawing users attention to potential errors.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Detection 13 UCheck (Erwig et al.) Infers units based on the spatial structure from row and column header layout, and then identifies formulas that try to combine incompatible units.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Detection 14 Slate (Coblenz, Ko, Myers) Values have units and labels, which are propagated to help users detect faulty computations.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Detection 15 Limitations Limitation: the tools arent always right. False positives: tool detects errors that dont exist. False negatives: tool doesnt detect errors that do exist. Combine the reasoning of analyses to reduce misclassifications. (Lawrance et al.)

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Understanding 16 Error Understanding End Users have many questions about program behavior: What happened? Why did that happen? Why didnt that happen? Tools can help end users find answers to these questions by explaining the execution of a program.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Understanding 17 Forms/3 Data flow arrows can help users understand what other cells affect a cells value.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Understanding 18 Whyline (Ko and Myers) Users ask why questions about a programs behavior and get explanations in terms of the programs execution.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Understanding 19 Crystal (Myers et al.) Users can ask why questions about the state of their application or document, and the tool answers them in terms of the applications controls that affect the document. Tuesday, 11:30!

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Understanding 20 Auditing (Gross)...develop a means to allow an end user to understand what is happening inside the world of a software application... (Gross) Software auditing, in which an domain expert who has not developed the software must make sure the softwares behavior is appropriate/legal.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Understanding 21 Limitations Lots of things happen during a programs execution, and many are irrelevant. How deep an understanding must end users have of a machines execution model?

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Removal 22 Error Removal Sometimes fixing an error requires changes to many parts of a program. Other times, only minor changes are need, but the changes arent obvious.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Removal 23 Jasper (Coblenz, Ko, Myers) A workspace that helps users manage code and other information thats relevant to a task.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Removal 24 Change Suggestions (Abraham et al.) The user can mark a cell as wrong, and provide the right value, and the tool offers change suggestions that would make the spreadsheet compute the right value.

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions Removal 25 Limitations Some errors are non-obvious and require changes throughout a program. Often because they involves complex data dependencies. Is it possible to simplify something thats fundamentally complex? Perhaps by avoiding complexity altogether...

Andrew Ko April 23rd CHI 2006 intro prevention detection understanding removal conclusions 26 Summary Tools can help end user programmers prevent, detect, understand and remove errors in code. Researchers are focusing on removing many of the limitations of these approaches. Toward Sharing Reasoning to Improve Fault Localization in Spreadsheets Joey Lawrance, Margaret Burnett, Robin Abraham, and Martin Erwig End-User Programming Productivity Tools Andrew Ko, Brad Myers, Michael Coblenz, and Jeff Stylos End User Software Engineering: Auditing the Invisible Joshua Gross Thank you to the authors...