Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Debugging in End- User Software Engineering summarized by Andrew Ko Toward Sharing Reasoning to Improve Fault Localization in Spreadsheets Joey Lawrance,"— Presentation transcript:

1 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

2 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:

3 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.

4 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.

5 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.

6 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.

7 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.

8 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!

9 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?

10 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.

11 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.

12 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.

13 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.

14 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.

15 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.)

16 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.

17 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.

18 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.

19 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!

20 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.

21 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?

22 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.

23 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.

24 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.

25 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...

26 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...


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

Similar presentations


Ads by Google