Larger scale systems require higher-level abstractions
IWSSD '89 Proceedings of the 5th international workshop on Software specification and design
Collaborative, programmable intelligent agents
Communications of the ACM
What we know about spreadsheet errors
Journal of End User Computing - End User Development
A practical guide to heavy tails: statistical techniques and applications
A practical guide to heavy tails: statistical techniques and applications
WYSIWYT testing in the spreadsheet paradigm: an empirical evaluation
Proceedings of the 22nd international conference on Software engineering
Types and programming languages
Types and programming languages
Microsoft Asp.Net Professional Projects
Microsoft Asp.Net Professional Projects
Semantic anomaly detection in online data sources
Proceedings of the 24th International Conference on Software Engineering
PowerForms: Declarative client-side form field validation
World Wide Web
Mining the Web: Discovering Knowledge from HyperText Data
Mining the Web: Discovering Knowledge from HyperText Data
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
Potter's Wheel: An Interactive Data Cleaning System
Proceedings of the 27th International Conference on Very Large Data Bases
End-user software engineering with assertions in the spreadsheet paradigm
Proceedings of the 25th International Conference on Software Engineering
A Risk and Control Oriented Study of the Practices of Spreadsheet Application Developers
HICSS '96 Proceedings of the 29th Hawaii International Conference on System Sciences Volume 2: Decision Support and Knowledge-Based Systems
19 Deadly Sins of Software Security
19 Deadly Sins of Software Security
Estimating the Numbers of End Users and End User Programmers
VLHCC '05 Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing
Using Objects of Measurement to Detect Spreadsheet Errors
VLHCC '05 Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing
Web application development by nonprogrammers: user-centered design of an end-user web development tool
Type-oriented construction of web user interfaces
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
JavaScript: The Definitive Guide
JavaScript: The Definitive Guide
Lightweight structured text processing
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Toped: enabling end-user programmers to validate data
CHI '08 Extended Abstracts on Human Factors in Computing Systems
Accommodating data heterogeneity in ULS systems
Proceedings of the 2nd international workshop on Ultra-large-scale software-intensive systems
Tool support for data validation by end-user programmers
Proceedings of the 30th international conference on Software engineering
Accommodating data heterogeneity in ULS systems
Proceedings of the 2nd international workshop on Ultra-large-scale software-intensive systems
Using topes to validate and reformat data in end-user programming tools
Proceedings of the 4th international workshop on End-user software engineering
Using assertions to help end-user programmers create dependable web macros
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
End-user programming of mashups with vegemite
Proceedings of the 14th international conference on Intelligent user interfaces
Intelligently creating and recommending reusable reformatting rules
Proceedings of the 14th international conference on Intelligent user interfaces
Fast, Accurate Creation of Data Validation Formats by End-User Developers
IS-EUD '09 Proceedings of the 2nd International Symposium on End-User Development
End user software engineering: CHI 2010 special interest group meeting
CHI '10 Extended Abstracts on Human Factors in Computing Systems
No Code Required: Giving Users Tools to Transform the Web
No Code Required: Giving Users Tools to Transform the Web
Compose & conquer: modularity for end-users
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Sharing, finding and reusing end-user code for reformatting and validating data
Journal of Visual Languages and Computing
The state of the art in end-user software engineering
ACM Computing Surveys (CSUR)
Refactoring pipe-like mashups for end-user programmers
Proceedings of the 33rd International Conference on Software Engineering
Integration of data validation and user interface concerns in a DSL for web applications
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Explanations for regular expressions
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Synthesizing number transformations from input-output examples
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Integration of data validation and user interface concerns in a DSL for web applications
Software and Systems Modeling (SoSyM)
Minimizing user effort in transforming data by example
Proceedings of the 19th international conference on Intelligent User Interfaces
Hi-index | 0.00 |
Programmers often omit input validation when inputs can appear in many different formats or when validation criteria cannot be precisely specified. To enable validation in these situations, we present a new technique that puts valid inputs into a consistent format and that identifies "questionable" inputs which might be valid or invalid, so that these values can be double-checked by a person or a program. Our technique relies on the concept of a "tope", which is an application-independent abstraction describing how to recognize and transform values in a category of data. We present our definition of topes and describe a development environment that supports the implementation and use of topes. Experiments with web application and spreadsheet data indicate that using our technique improves the accuracy and reusability of validation code and also improves the effectiveness of subsequent data cleaning such as duplicate identification.