DocumentCode
2441925
Title
Verifying client-side input validation functions using string analysis
Author
Alkhalaf, Muath ; Bultan, Tevfik ; Gallegos, Jose L.
Author_Institution
Comput. Sci. Dept., Univ. of California, Santa Barbara, CA, USA
fYear
2012
fDate
2-9 June 2012
Firstpage
947
Lastpage
957
Abstract
Client-side computation in web applications is becoming increasingly common due to the popularity of powerful client-side programming languages such as JavaScript. Clientside computation is commonly used to improve an application´s responsiveness by validating user inputs before they are sent to the server. In this paper, we present an analysis technique for checking if a client-side input validation function conforms to a given policy. In our approach, input validation policies are expressed using two regular expressions, one specifying the maximum policy (the upper bound for the set of inputs that should be allowed) and the other specifying the minimum policy (the lower bound for the set of inputs that should be allowed). Using our analysis we can identify two types of errors 1) the input validation function accepts an input that is not permitted by the maximum policy, or 2) the input validation function rejects an input that is permitted by the minimum policy. We implemented our analysis using dynamic slicing to automatically extract the input validation functions from web applications and using automata-based string analysis to analyze the extracted functions. Our experiments demonstrate that our approach is effective in finding errors in input validation functions that we collected from real-world applications and from tutorials and books for teaching JavaScript.
Keywords
Java; formal verification; JavaScript; Web applications; automata based string analysis; client side computation; client side input validation function verification; client-side programming languages; clientside computation; extracted functions; string analysis; Algorithm design and analysis; Browsers; Doped fiber amplifiers; Electronic mail; HTML; Lattices; Reactive power;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location
Zurich
ISSN
0270-5257
Print_ISBN
978-1-4673-1066-6
Electronic_ISBN
0270-5257
Type
conf
DOI
10.1109/ICSE.2012.6227124
Filename
6227124
Link To Document