Author :
Scaffidi, Christopher ; Myers, Brad ; Shaw, Mary
Author_Institution :
Inst. for Software Res., Carnegie Mellon Univ., Pittsburgh, PA
Abstract :
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.
Keywords :
Internet; abstract data types; spreadsheet programs; Web application; application-independent abstraction; data validation; reusable abstractions; spreadsheet data; topes; Application software; Books; Cleaning; Computer science; Performance analysis; Printing; Programming profession; Software reusability; User interfaces; Web services; abstraction; data; validation;
Conference_Titel :
Software Engineering, 2008. ICSE '08. ACM/IEEE 30th International Conference on
Conference_Location :
Leipzig
Print_ISBN :
978-1-4244-4486-1
Electronic_ISBN :
0270-5257
DOI :
10.1145/1368088.1368090