Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.
-
Upload
jaiden-gatewood -
Category
Documents
-
view
216 -
download
2
Transcript of Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.
![Page 1: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/1.jpg)
Static Analysis and Verification
Victor VianuU.C. San Diego
in Databases
![Page 2: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/2.jpg)
What is it?
Reasoning about queries and applications to guarantee
correctness
good performance
![Page 3: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/3.jpg)
Important to experts ...
SQL queries
Expert user Database Server
![Page 4: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/4.jpg)
… but also to the public at large
• Applications built on top of a database Web sites: FNAC, Amazon, SNCF, Opodo, Facebook,…
![Page 5: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/5.jpg)
• Applications built on top of a database Web sites: FNAC, Amazon, SNCF, Opodo, Facebook,…
input
… but also to the public at large
![Page 6: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/6.jpg)
• Applications built on top of a database Web sites: FNAC, Amazon, SNCF, Opodo, Facebook,…
input
output
… but also to the public at large
![Page 7: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/7.jpg)
• Applications built on top of a database Web sites: FNAC, Amazon, SNCF, Opodo, Facebook,…
output
… but also to the public at large
![Page 8: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/8.jpg)
Wide array of bugs• Mildly annoying: duplicate news items
![Page 9: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/9.jpg)
Wide array of bugs• Mildly annoying: duplicate news items
![Page 10: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/10.jpg)
Wide array of bugs• Possible reason: a query returns duplicates
![Page 11: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/11.jpg)
Wide array of bugs• Irritating: blank web page
![Page 12: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/12.jpg)
Wide array of bugs• Possible reason: a query returns empty answer
![Page 13: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/13.jpg)
Wide array of bugs• Irritating: wait forever
![Page 14: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/14.jpg)
Wide array of bugs• Possible reason: query processing is too slow
![Page 15: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/15.jpg)
Wide array of bugs• Irritating: fail after long interaction
![Page 16: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/16.jpg)
Wide array of bugs• Possible reason: poorly designed workflow
![Page 17: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/17.jpg)
Wide array of bugs• Exhilarating/catastrophic: free ticket!
![Page 18: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/18.jpg)
Wide array of bugs• Likely reason: flaw in workflow design
![Page 19: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/19.jpg)
How can static analysis and verification help?
Static analysis reasoning about queries
Verification reasoning about workflow
![Page 20: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/20.jpg)
Static analysis
• Query: “reasoning” about data• Static analysis: “reasoning” about the “reasoner”
Static analysis program
query
YES NO
program
program
![Page 21: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/21.jpg)
Static analysis
• Self-reference: source of undecidability
Static analysis program
query
YES NO
program
program
![Page 22: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/22.jpg)
Static analysis
• Self-reference: source of undecidability
YES NO
program
program
Halting problem Is there a program P that,
given any program M with input Ioutputs YES if M halts on I
and NO otherwise
Well, the truth is that P cannot possibly be,because if you wrote it and gave it to me,I could use it to set up a logical bindthat would shatter your reason and scramble your mind.……..You can never find general mechanical meansfor predicting the acts of computing machines; it’s something that cannot be done. So we users must find our own bugs. Our computers are losers!
Geoffrey K. Pullum, University of Edinburgh
M, I
P: does M halt on I ?
![Page 23: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/23.jpg)
Static analysis
• Self-reference: source of undecidability
YES NO
M, I
P: does M halt on I?
Flavor of the paradox
“This sentence is false”
P, P
P: does P halt on P ?
![Page 24: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/24.jpg)
Static analysis
• Self-reference: source of undecidability
Is this really relevant to SQL ?
YES NO
M, I
P: does M halt on I?
P, P
P: does P halt on P ?
![Page 25: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/25.jpg)
Static analysis
“Simple”, fundamental question: Is the answer to Q always empty ?
select titlefrom Schedulewhere theater = ‘Les Halles’ and theater = ‘Odeon’
‘Les Halles’ = ‘Odeon’
Schedule title theater time
![Page 26: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/26.jpg)
Static analysis
![Page 27: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/27.jpg)
Static analysis
select PROJECT.PNAME, EMPLOYEE.LNAMEfrom PROJECT, EMPLOYEE, WORKS_ON where PROJECT.PNUMBER = WORKS_ON.PNO and WORKS_ON.ESSN = EMPLOYEE.SSN and not exists (select * from DEPARTMENT, EMPLOYEE where PROJECT.DNUM = DNUMBER or MGRSSN = SSN)
Always empty?
![Page 28: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/28.jpg)
Static analysis
Surprise: The Halting problem can be reduced
to the SQL query emptiness problem!
input I
Turing Machine M
SQL query QM,I
M halts on Iiff
QM,I(DB) ≠ for some database DB
![Page 29: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/29.jpg)
Static analysis
Surprise: The Halting problem can be reduced
to the SQL query emptiness problem!
SQL query emptiness is undecidable
![Page 30: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/30.jpg)
Static analysis
Also undecidable:• Are two queries P and Q equivalent?• Can Q be simplified (relative to various criteria)• Does query Q ever return duplicate tuples?
Any non-trivial property!
Is there a class of simpler but useful SQL queries amenable to static analysis?
![Page 31: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/31.jpg)
Well-behaved case: Conjunctive Queries
select … from … where…
conjunction of equalitieson attributes and constants
select theaterfrom Movie, Schedulewhere director = ‘Godard’ and Movie.title = Schedule.title
Movie title director actor Schedule title theater time
![Page 32: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/32.jpg)
Well-behaved case: Conjunctive Queries
• Query emptiness: easy to check
select titlefrom Schedulewhere theater = ‘Les Halles’ and theater = ‘Odeon’
‘Les Halles’ = ‘Odeon’
![Page 33: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/33.jpg)
Well-behaved case: Conjunctive Queries
• Useful fact: if non-empty, can represent intuitively as a simple pattern of tuples using variables and constants
Movie title director actor Schedule title theater time
t Godard t a
Answer theater
a
select theaterfrom Movie, Schedulewhere director = ‘Godard’ and Movie.title = Schedule.title
Query result
![Page 34: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/34.jpg)
Well-behaved case: Conjunctive Queries
• Unsettling thought: this query is a database!
Movie title director actor Schedule title theater time
t Godard t a
Answer theater
a
Can I apply a query to a query ?
![Page 35: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/35.jpg)
Well-behaved case: Conjunctive Queries
• Unsettling thought: this query is a database!
Can I apply a query to a query ?
![Page 36: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/36.jpg)
Well-behaved case: Conjunctive Queries
• Good news: powerful tool for static analysis!
![Page 37: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/37.jpg)
Well-behaved case: Conjunctive Queries
• Query equivalence
P
answer
Q
answer
DATABASE
![Page 38: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/38.jpg)
Well-behaved case: Conjunctive Queries
• Query equivalence
P
answer
Q
answer
DB
![Page 39: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/39.jpg)
Well-behaved case: Conjunctive Queries
• Query equivalence
P
answer
Q
answer
DB
![Page 40: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/40.jpg)
Well-behaved case: Conjunctive Queries
• Query equivalence Example: db is a binary relation (graph)
P
x y
Q
x y
x a y bx y c
![Page 41: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/41.jpg)
Well-behaved case: Conjunctive Queries
• Query equivalence Example: db is a binary relation (graph)
P
x y
Q
x y
x a y bx y c
![Page 42: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/42.jpg)
Well-behaved case: Conjunctive Queries
• Query equivalence Example: db is a binary relation (graph)
P
x y
Q
x y
x a y bx y c
equivalent
![Page 43: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/43.jpg)
Well-behaved case: Conjunctive Queries
• One step further: taking into account constraints
P
answer
Q
answer
DATABASE constraints
DB DB
Force Force
![Page 44: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/44.jpg)
Well-behaved case: Conjunctive Queries
• One step further: taking into account constraints
P’
answer
Q’
answer
equivalence test
![Page 45: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/45.jpg)
Well-behaved case: Conjunctive Queries
• Forcing satisfaction of : the Chase
answer
DB
Force
P
![Page 46: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/46.jpg)
Well-behaved case: Conjunctive Queries
• Forcing satisfaction of : the Chase
Movie title director actor Schedule title theater time
b Godard b a
Answer theater
a
c Bardot c a
theater title title director
![Page 47: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/47.jpg)
Well-behaved case: Conjunctive Queries
• Forcing satisfaction of : the Chase
Movie title director actor Schedule title theater time
b Godard b a
Answer theater
a
b Bardot b a
theater title, title director
![Page 48: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/48.jpg)
Well-behaved case: Conjunctive Queries
• Forcing satisfaction of : the Chase
Movie title director actor Schedule title theater time
b Godard b a
Answer theater
a
b Godard Bardot b a
theater title title director
![Page 49: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/49.jpg)
Well-behaved case: Conjunctive Queries
• Forcing satisfaction of : the Chase
Movie title director actor Schedule title theater time
Answer theater
a
b Godard Bardot b a
theater title title director
![Page 50: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/50.jpg)
Well-behaved case: Conjunctive Queries
• How far does the good news go?• Trouble in paradise: an undecidable question
P1 Q1
P2 Q2
….
Pn Qn
P Qimplies
Implication of CQ inclusion
reduction from word problemfor finite monoids
![Page 51: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/51.jpg)
Well-behaved case: Conjunctive Queries
• How far does the good news go?• Trouble in paradise: an open question
Does the answer to P determine the answer to Q?
DB answerP
Q?
answer
Example:P(x,y): path of length 2Q(x,y): path of length 4
Example:P(x,y): path of length 2Q(x,y): path of length 3
P3(x,y): path of length 3P4(x,y): path of length 4Q(x,y): path of length 5
Decidability is open!
![Page 52: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/52.jpg)
Summary so far
• SQL: too powerful for decidable static analysis• Conjunctive queries: simple SQL queries, well behaved
Not enough:static analysis of complex queries is essential to performance!
![Page 53: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/53.jpg)
What to do in practical query processing
• Static analysis on simple building blocks
Complex SQL query
![Page 54: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/54.jpg)
What to do in practical query processing
• Static analysis on simple building blocks
![Page 55: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/55.jpg)
What to do in practical query processing
• Static analysis on simple building blocks
![Page 56: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/56.jpg)
What to do in practical query processing
• Static analysis on simple building blocks
![Page 57: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/57.jpg)
What to do in practical query processing
• Static analysis on simple building blocks
![Page 58: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/58.jpg)
What to do in practical query processing
• Static analysis on simple building blocks
![Page 59: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/59.jpg)
What to do in practical query processing
• Rewrite rules for simplifying queries
dir = Godard
early selection
theater
schedule movie
dir = Godard
theater
schedule
movie
![Page 60: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/60.jpg)
What to do in practical query processing
• Many other heuristics
• Dramatic impact on complex queries
More rewrite rules, subquery decorrelation, common subqueries, view unfolding …
Example [Bill McKenna, ParAccel]: 23 000 lines “monster query” static analysis improved performance by 95%
![Page 61: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/61.jpg)
Static analysis for XML
• Questions: some similar, some new• Different techniques• XML Schema is closely related to tree automata• XQuery is closely related to tree transducers
Techniques for XML: mix of logic and automata theory
Important twist due to data: automata on infinite alphabets
![Page 62: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/62.jpg)
Static analysis reasoning about queries
Verification reasoning about workflow
![Page 63: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/63.jpg)
Verification of application workflows• Example: verify that no free tickets can be sold
![Page 64: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/64.jpg)
Automatic verification problem
VERIFIER
Specification
YES NO, counterexample
Property
![Page 65: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/65.jpg)
Verification of application workflows
input
output
![Page 66: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/66.jpg)
Verification of application workflows
High-level specification: First-Order logic (FO) control
FO CONTROL
input
output
![Page 67: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/67.jpg)
Verification of application workflows
High-level specification: FO control
input
output
FO CONTROL
![Page 68: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/68.jpg)
Verification of application workflows
High-level specification: FO control
RUN
output
input input input
output output
….
![Page 69: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/69.jpg)
Verification of application workflows
Specifying properties
Every delivered ticket has been previously paid in the correct amount
ticket-paid ticket-delivered
always ( ticket-delivered previously (ticket-paid))
….
![Page 70: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/70.jpg)
Verification of application workflows
Specifying properties
deliver(x) y (pay(x,y) price(x,y))
x
input DBoutput
always ( ticket-delivered previously (ticket-paid))
![Page 71: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/71.jpg)
Verification of application workflows
Specifying properties
Language for properties: FO + temporal operators
always ( ticket-delivered previously (ticket-paid))
![Page 72: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/72.jpg)
Formal verification problem
VERIFIER
Specification
YES NO, counterexample
Good news: Can automatically verify significant classes of applications
Property
Techniques: mix of logic and automata theory
![Page 73: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/73.jpg)
Variant for AXML
VERIFIER
AXML system
YES NO, counterexample
Property
![Page 74: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/74.jpg)
Variant for AXML
Every delivered ticket has been previously paid in the correct amount always ( ticket-delivered previously (ticket-paid))
Mail-Order-Center
Order
Customer Product
X Y Z
Product
Price
Y Z
Ticket-Center
Order
Payment
X
Ticket
Price
X Y
Number
Y x
Ticket
X
Delivered
Ticket-Center
Number
x
![Page 75: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/75.jpg)
Variant for AXML
VERIFIER
AXML system
YES NO, counterexample
Good news, again: can automatically verify significant classes of applications
Property
![Page 76: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/76.jpg)
Conclusions
Static analysis and verification in databases:• Practically essential, intellectually challenging• Run against fundamental limitations of computing• Deep mathematics, elegant mix of logic and automata theory• This talk: limited overview of some basic questions and ideas• Just the tip of the iceberg:
Many more static analysis and verification problems
Wide array of techniques to deal with limitations: sophisticated heuristics, approximation, abstraction
![Page 77: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/77.jpg)
Work on verification
UC San Diego: Alin Deutsch & DB team
INRIA & ENS Cachan:Serge Abiteboul and Luc Segoufin
![Page 78: Static Analysis and Verification Victor Vianu U.C. San Diego in Databases.](https://reader035.fdocuments.in/reader035/viewer/2022062511/551a1d8c55034619378b5289/html5/thumbnails/78.jpg)
Thank you! Merci!