• DocumentCode
    2440851
  • Title

    WAVES: Automatic Synthesis of Client-Side Validation Code for Web Applications

  • Author

    Skrupsky, N. ; Monshizadeh, Mehrnoosh ; Bisht, P. ; Hinrichs, T. ; Venkatakrishnan, V.N. ; Zuck, Lenore

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Illinois at Chicago, Chicago, IL, USA
  • fYear
    2012
  • fDate
    14-16 Dec. 2012
  • Firstpage
    46
  • Lastpage
    53
  • Abstract
    The current practice of Web application development treats the client and server components of the application as two separate pieces of software. Each component is written independently, usually in distinct programming languages and development platforms - a process known to be prone to errors when the client and server share application logic. When the client and server are out of sync, an âimpedance mismatchâ occurs, often leading to software vulnerabilities as demonstrated by recent work on parameter tampering. This paper outlines the groundwork for a new software development approach, WAVES, where developers author the server-side application logic and rely on tools to automatically synthesize the corresponding client-side application logic. WAVES employs program analysis techniques to extract a logical specification from the server, from which it synthesizes client code. WAVES also synthesizes interactive client interfaces that include asynchronous callbacks (AJAX) whose performance and coverage rival that of manually written clients while ensuring no new security vulnerabilities are introduced. The effectiveness of WAVES is demonstrated and evaluated on three real-world web applications.
  • Keywords
    client-server systems; formal specification; interactive systems; program diagnostics; program verification; AJAX; WAVES framework; Web application development; asynchronous callbacks; automatic client-side validation code synthesis; client components; client-side application logic; impedance mismatch; interactive client interface synthesis; logical specification extraction; parameter tampering; program analysis techniques; programming languages; server components; server-side application logic; software development approach; software vulnerabilities;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Cyber Security (CyberSecurity), 2012 International Conference on
  • Conference_Location
    Washington, DC
  • Print_ISBN
    978-1-4799-0219-4
  • Type

    conf

  • DOI
    10.1109/CyberSecurity.2012.13
  • Filename
    6542525