Toped: Enabling End-User Programmers to Validate Data Chris Scaffidi, Brad Myers, Mary Shaw, Carnegie Mellon University, School of Computer Science,

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

Design by Contract.
Little Used, but Powerful Features with GP Cathy Fregelette, CPA, PMP Practice Manager BroadPoint Technologies September 20, 2012.
1. Write an Excel text function in cell Company Data!A4, which may be copied down, to string together the first and last name with only the first letter.
Tutorial 7: Developing an Excel Application
Developing an Excel Application
Tutorial 8: Developing an Excel Application
Chapter 07: Lecture Notes (CSIT 104) 1111 Exploring Microsoft Office Excel 2007 Chapter 7 Data Consolidation, Links, and Formula Auditing.
Objectives Understand the software development lifecycle Perform calculations Use decision structures Perform data validation Use logical operators Use.
This research is supported by NSF CAREER award CCF A Demonstration-based Approach to Support Live Transformations in a Model Editor Yu SunUniversity.
Software Engineering COMP 201
Fast, Accurate Creation of Data Validation Formats by End-User Developers Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University.
Topes: Reusable Abstractions for Validating Data Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University.
UI Standards & Tools Khushroo Shaikh.
Unsupervised Inference of Data Formats in Human-Readable Notation Christopher Scaffidi Carnegie Mellon University.
Chapter 9 Describing Process Specifications and Structured Decisions
Topes: Enabling End-User Programmers to Validate and Reformat Data Christopher Scaffidi Committee: Mary Shaw (chair)Institute for Software Research, Carnegie.
Topes: Enabling End-User Programmers to Validate and Reformat Data Christopher Scaffidi Key collaborators: Brad Myers, Mary Shaw Carnegie Mellon University.
Topes: Enabling End-User Programmers to Validate and Reformat Data Christopher Scaffidi Carnegie Mellon University.
Introduction to z/OS Basics © 2006 IBM Corporation Chapter 8: Designing and developing applications for z/OS.
Tool Support for Data Validation by End-User Programmers Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University.
Usable Privacy and Security Carnegie Mellon University Spring 2008 Lorrie Cranor 1 Designing user studies February.
Principles and Methods
Accommodating Data Heterogeneity in ULS Systems Christopher Scaffidi Mary Shaw Carnegie Mellon University.
A Lightweight Model for End Users’ Domain-Specific Data Christopher Scaffidi Carnegie Mellon University VL/HCC Graduate Consortium 2006.
A Data Model to Help End User Programmers Manipulate and Validate Data Christopher Scaffidi Carnegie Mellon University ISRI SSSG Oct 2006.
Review an existing website Usability in Design. to begin with.. Meeting Organization’s objectives and your Usability goals Meeting User’s Needs Complying.
Lecture 5 Geocoding. What is geocoding? the process of transforming a description of a location—such as a pair of coordinates, an address, or a name of.
COMPREHENSIVE Excel Tutorial 8 Developing an Excel Application.
Exploring Microsoft Excel 2002 Chapter 8 Chapter 8 Automating Repetitive Tasks: Macros and Visual Basic for Applications By Robert T. Grauer Maryann Barber.
Introduction to the new mainframe © Copyright IBM Corp., All rights reserved. Chapter 7: Designing and developing applications for z/OS.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Intro to Excel - Session 7.11 Tutorial 7 - Session 7.1 Developing an Excel Application.
My Redneck Brother's Tire Size, and Other Unrelated Topes Christopher Scaffidi Carnegie Mellon University.
National Institute of Standards and Technology 1 Testing and Validating OAGi NDRs Puja Goyal Salifou Sidi Presented to OAGi April 30 th, 2008.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
Topes: Meeting the Challenges of User Input Validation Christopher Scaffidi Key collaborators: Brad Myers, Mary Shaw Carnegie Mellon University.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Towards aiding within-patch information foraging by end-user programmers Balaji Athreya, Chris Scaffidi Oregon State University.
Intelligently Creating and Recommending Reusable Reformatting Rules Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University.
Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 3 Variables, Constants, Methods, and Calculations.
1 Technology in Action Chapter 11 Behind the Scenes: Databases and Information Systems Copyright © 2010 Pearson Education, Inc. Publishing as Prentice.
MOSS Design Presentation -Senior Project-. MOSS MOSS Server System 1. MOSS Application 2. Server 3. Client SIU-E Code Cop System 1. SIU-E.
Behavioral and Emotional Rating Scale - 2 Understanding and Sharing BERS-2 Information and Scoring with Parents, Caregivers and Youth May 1, 2012.
Copyright © 2008 Pearson Prentice Hall. All rights reserved Copyright © 2008 Prentice-Hall. All rights reserved. Committed to Shaping the Next.
Pair Programming Sarah Lee Grace Uchida Masis Nguyen Michael Hart Jeramy Zapotosky.
© Scott/Jones Publishing, Inc. 1 Chapter 23 Working with Forms and Validation Excel 2003, Volume 2 by Karen J. Jolly.
1 Year of Progress on Topes Christopher Scaffidi Brad Myers, Mary Shaw Carnegie Mellon University.
Data Management in Clinical Research Rosanne M. Pogash, MPA Manager, PHS Data Management Unit January 12,
A Data Model to Support End-User Software Engineering Christopher Scaffidi Carnegie Mellon University.
CS 160 and CMPE/SE 131 Software Engineering February 18 Class Meeting Department of Computer Science Department of Computer Engineering San José State.
CoScripter and Topes: Putting Data into Usable Formats Christopher Scaffidi Carnegie Mellon University With Allen Cypher and Jimmy Lin IBM Almaden.
SARAH LEE GRACE UCHIDA MASIS NGUYEN MICHAEL HART JERAMY ZAPOTOSKY INF 132 Pair Programming.
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
LogicBlocks: A Graphical User Interface to Facilitate Intervention Logic Claire Jones, Shaun Treweek, Ian Ricketts University of Dundee.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
Data Entry, Coding & Cleaning SPSS Training Thomas Joshua, MS July, 2008.
CS 310 Ch 4: Software Processes Software process: a set of activities that lead to a software system specification design and implementation validation.
Excel Tutorial 8 Developing an Excel Application
JavaScript, Sixth Edition
Introduction to Visual Basic 2008 Programming
Different Types of Testing
Developing an Excel Application
Christopher Scaffidi Center for Applied Systems and Software
A Data Model to Help End Users Shape Effective Software
Ohio Web Portal Ohio Edison, Illuminating Company, Toledo Edison
Sr. Quality Engineering Manager,
Chapter 11 Describing Process Specifications and Structured Decisions
SALES RECEIPT Downloaded from
Presentation transcript:

Toped: Enabling End-User Programmers to Validate Data Chris Scaffidi, Brad Myers, Mary Shaw, Carnegie Mellon University, School of Computer Science, Problem How can we enable EUPs to implement input-validation code? End-user Programmers (EUPs) Millions of end users are also programmers who create spreadsheets or web forms containing… Company namessuch asMicrosoft Room numbersWean Hall 4104 Campus phone numbers Project numbers Grant numbersCCF Pilot Study In their own words, 4 administrative assistants described how to recognize American mailing addresses and university project numbers. They almost always described data as a hierarchy of named parts, such as describing a mailing address as a street address, city, state, and zip. This structurally resembled a context-free grammar (CFG), down until sub-parts were so small that participants lacked names for them. At that point, participants used soft constraints to define sub-parts, such as saying that the street type usually is “Ave” or “St”, indicating that valid data occasionally violate these constraints. This stands in stark contrast to regexps and CFGs, which classify inputs as valid or invalid, with no shades of gray. … and other kinds of inputs that are… Short (usually in 1 spreadsheet cell or web form textfield) Often ambiguously defined (a “valid” company name) Often organization-specific (your validation rules may differ from mine!) Sometimes application-specific Prototype Based on pilot results, we designed a tool called Toped for implementing validation “formats”. Each format consists of named parts with constraints that can often or always be true. Toped accepts a set of examples, then infers a boilerplate format for EUPs to review and customize (Fig A). To support iterative refinement, a window allows EUPs to enter test strings. Toped converts the format to a CFG with constraints attached to the productions, then checks the strings against this constrained CFG. Toped’s integration with Microsoft Excel and Visual Studio (web form design tool) enable reuse of formats for validating spreadsheet and web form data. Our system identifies inputs that violate the CFG or constraints, then displays a human-readable message summarizing errors (Fig B). Users can override warnings in spreadsheets, as well as soft constraint violations in web forms. Fig A: Editing a format in Toped Evaluation: Usability Study 16 EUPs implemented validation to find typos in 3 kinds of data—phone numbers, street addresses, and company names. We randomly assigned them to use Toped or a comparison tool (Lapis). Toped EUPs completed more tasks (2.79 of 3, vs 1.75), found more typos (92% of typos, vs 32%), were more accurate overall (F 1.74 vs.51), and were more satisfied with the tool (satisfaction question-naire scale score 3.78 ≈ “somewhat satisfied” vs 3.00 = “Neutral”). These differences were significant at P<0.01, except for accuracy (F 1 ). Also, Toped EUPs were faster and more accurate at our tasks than EUPs doing similar tasks in an earlier study that evaluated a regexp editor. Future Work Our evaluation only involved 3 formats, and EUPs might struggle to implement formats for other data. We will develop a repository where EUPs can publish and share formats, enabling us to collect formats and feedback from EUPs using formats in real applications. Fig B: Human-readable descriptions of input errors Funded by EUSES under ITR , and by NSF under CCF and CCF Is it right?