SEEK is supported by the National Science Foundation under awards 0225676. 0225665, 0225635, and 0533368.
Semantic Mediation SystemSemantic Mediation System WAVE: A Verifier for Interactive, Data-driven Web ApplicationsWAVE: A Verifier for Interactive, Data-driven Web Applications
Semantic Mediation SystemSemantic Mediation System WAVE: A Verifier for Interactive, Data-driven Web ApplicationsWAVE: A Verifier for Interactive, Data-driven Web Applications
3. Verify some desirable properties via WAVE, the verifier we implemented
Alin Deutsch, Liying Sui, Victor Vianu, Dayou Zhou
Problem Statement
OverviewOverview 2. Specify Data-driven Web applications using high-level languages.
Theoretical Results[PODS’04]Classes of Web application specification languages are introduced and showed automatically verifiable
Explore the trade-off between expressiveness of the specification language and the feasibility of verification
WAVE—A Verifier for Data-driven Web Applications[SIGMOD’05]
WAVE is a sound and complete verifier for a restricted but significant class of data-driven infinite systems
Coupling of database and model-checking techniques is extremely effective
Database-powered Web applications may be unusually well-suited for automated verification
AccomplishmentsAccomplishments
Verify some desirable design requirement via WAVE, the verifier we implemented
The workflow specification describing the business logic behind data-driven Web applications are increasingly complex. Static analysis tools for boosting the confidence in their robustness and correctness is required
• Specification can improve programmer's productivity, moreover, it also makes automatical verification possible.
• Verification is feasible for a significant class of database-powered (hence infinite-state) Web applications.
• Verification time are surprisingly good, all within seconds
Title: (NC-LogoAlt-4C.eps) Creator: Adobe Illustrator(TM) 5.0 Preview: This EPS picture was not saved with a preview (TIFF or PICT) included in it Comment: This EPS picture will print to a postscript printer but not to other types of printers Title: SDSClogo-plusname-black.eps Creator: Adobe Illustrator(R) 11 Preview: This EPS picture was not saved with a preview (TIFF or PICT) included in it Comment: This EPS picture will print to a postscript printer but not to other types of printers Title: (expanded_logo_gold-blue.eps) Creator: Adobe Illustrator(R) 8.0 Preview: This EPS picture was not saved with a preview (TIFF or PICT) included in it Comment: This EPS picture will print to a postscript printer but not to other types of printers Title: (UNC_logo_542.eps) Creator: Adobe Illustrator(R) 8.0 Preview: This EPS picture was not saved with a preview (TIFF or PICT) included in it Comment: This EPS picture will print to a postscript printer but not to other types of printers Title: topbrc.eps Creator: Adobe Illustrator(R) 11 Preview: This EPS picture was not saved with a preview (TIFF or PICT) included in it Comment: This EPS picture will print to a postscript printer but not to other types of printers
WebML Import sub-
Module
Verification Module
Code Generation
Module
Explanation module
... ... ...
Web Application(JSP/JDBC Code)
Specification Module
WAVE Specification
Design Property
WebML Specific
ation
HTML Style Sheet
DB Server
Info
WAVEHilda
Import sub-
Module
Hilda Specific
ationCase study: Dell.com-like computer shopping website
• This website allows
user to browse, put in cart and buy computers
• The specification uses: 19 page schemas 4 databases tables 10 states tables 6 input relations 5 action tables
Property TimeHome page is eventually reached.(true) 20 mills
Users can’t cancel an order that has already been shipped.(true)
2 s.
Whenever Credit Card Page is reached, User Payment Page page will eventually be reached as well.(false)
370 mills
Any shipped product is previously be paid.(true)
4 s.
If the input on Error Page is never empty, then whenever Error Page is reached, Home Page will eventually be reached.(true)
1 s.
Experimental Results [in SIGMOD’05]Experimental Results [in SIGMOD’05]
1. Motivation
Desirable RequirementDesirable Requirement
Semantic properties: The user cannot cancel an order that
has already been shippedNavigation properties:
There is a way to reach the home page from any page
Soundness properties: The next Web page is unambiguously defined at any point
Desired:
Verification
login cancel
desktoplaptop
RAM:CPU:
RAM:CPU:SCREEN:
submit submit
Matching products
Details Confirmationbuy print
Customer Page(CP)
Laptop Search (LSP) Desktop Search (DSP)
Product Index (PIP)
Product Detail (PDP)
Confirmation (CoP)
back
Message
Message Page (MP)
state update
DB
action
NAME:PASSWD:
An Interactive, Data-driven An Interactive, Data-driven
Web ApplicationWeb Application
Time Sequence
of Web pages
68
...
... 10 9 1
Database
Action
Tim
e L
ine
5 8 2
login cancel
desktoplaptop
RAM:CPU:
RAM:CPU:SCREEN:
submit submit
Matching products
Details Confirmationbuy print
Customer Page(CP)
Laptop Search (LSP) Desktop Search (DSP)
Product Index (PIP)
Product Detail (PDP)
Confirmation (CoP)
back
Message
Message Page (MP)
NAME:PASSWD:
Web Application
Code