1 / 13

Supporting Reuse of EUP Code Experiences with CoScripter and topes

Supporting Reuse of EUP Code Experiences with CoScripter and topes. Christopher Scaffidi Mary Shaw Carnegie Mellon University. Supporting Reuse of End-User Code. Compared to writing code from scratch, reuse can… Be faster Be less error-prone Require less learning

marah-weiss
Download Presentation

Supporting Reuse of EUP Code Experiences with CoScripter and topes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Supporting Reuse of EUP CodeExperiences with CoScripter and topes Christopher Scaffidi Mary Shaw Carnegie Mellon University

  2. Supporting Reuse of End-User Code Compared to writing code from scratch, reuse can… • Be faster • Be less error-prone • Require less learning But empirical studies of end-user programmers often report low levels of reuse. • What features does a programming platform need in order to support reuse? • What are the traits of highly reusable code? • How can we support reuse in the topes environment?

  3. CoScripter macros--platform features intended to support reuse Mentioned in IBM’s 2008 CHI paper: • Inspectability & try-it-out-ability • English-like syntax • Secondary notation / comments • Easily editable • Hooks for semi-automation • Mixed initiative • Personal database • Repository for supporting reuse • Standard keyword search • Can suggest scripts for users

  4. CoScripter macros--more likely to be reused if they have certain traits Accuracy (recall) Number of reuse events 4 kinds of reuse 3 kinds of reuse Rate of false positive(predicting reuse when a script is not reused) Number of traits • Predicting reuse based on script traits, eg: • Use of English-language websites • Mixed-initiative instructions • Comments in the script • Certain keywords For more info: ask for our ICSE’09 paper

  5. What does all this mean for topes?

  6. The tope development environmenthas similar (tope-appropriate) features • Inspectability and try-it-out-ability • UI presents English-like sentences to users • Secondary notation: users can embed examples • Easily editable: drag & drop UI; auto-gen reformatting • Hooks for semi-automation • Overridable error messages at runtime • Whitelists: add exceptional strings at runtime • Repository • Integration with tope editor • Can copy & paste formats from tope to tope • Tope recommendation algorithm New! New! New! New! New! New! For more info: ask for our ISEUD’09 and IUI’09 papers

  7. How to validate reusability of topes?Question #1 of 2 • Probably obvious: users can download & reuse topes • User study seems superfluous • Probably unlikely: download & do fancy recombining • How long do most people need to use Excel before they can reliably combine two spreadsheets? • Requires expertise well beyond walk-up-and-use • Probably same with topes • So how to validate if usual lab experiment isn’t appropriate? Questions for discussion

  8. What features ensure reusability?Questions #2a & 2b • In general, are these platform features necessary & sufficient for reusability?... • Inspectability & try-it-out-ability • Hooks for semi-automation • Repository with recommendation features • Can we predict reuse of other kinds of programs? • JavaScripts? • Spreadsheets? • All the other good kinds of programs mentioned in our most recent NSF proposal? Questions for discussion

  9. Thank You… • …to EUSES for the opportunity to present • …to many people for helpful suggestions • …to NSF and EUSES for funding

  10. Tope implementation editor (Toped)To users, a tope is called a “data description”

  11. (zoom in)Drag/drop UI for moving parts

  12. (zoom in)Editing one part of a tope implementation

  13. Browsing recommended topes in Excel

More Related