1 8. Safe Query Languages Safe program – its semantics can be at least partially computed on any valid database input. Safety is tied to program verification,

Slides:



Advertisements
Similar presentations
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Advertisements

Problems and Their Classes
A COURSE ON PROBABILISTIC DATABASES Dan Suciu University of Washington June, 2014Probabilistic Databases - Dan Suciu 1.
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke September 1976.
1 CHAPTER 4 RELATIONAL ALGEBRA AND CALCULUS. 2 Introduction - We discuss here two mathematical formalisms which can be used as the basis for stating and.
Queries with Difference on Probabilistic Databases Sanjeev Khanna Sudeepa Roy Val Tannen University of Pennsylvania 1.
Propositional Logic Reading: C , C Logic: Outline Propositional Logic Inference in Propositional Logic First-order logic.
The Big Picture Chapter 3. We want to examine a given computational problem and see how difficult it is. Then we need to compare problems Problems appear.
Verification of Hybrid Systems An Assessment of Current Techniques Holly Bowen.
Efficient Query Evaluation on Probabilistic Databases
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Axiomatic Semantics.
Safety as a Software Metric Matthias Felleisen and Robert Corky Cartwright Rice University.
1 9. Evaluation of Queries Query evaluation – Quantifier Elimination and Satisfiability Example: Logical Level: r   y 1,…y n  r’ Constraint.
2005certain1 Views as Incomplete Databases – Certain & Possible Answers  Views – an incomplete representation  Certain and possible answers  Complexity.
The Programming Discipline Professor Stephen K. Kwan 2010 Things you need to know (learn) for developing large computer programs.
The Theory of NP-Completeness
Chapter 11: Limitations of Algorithmic Power
ESE601: Hybrid Systems Introduction to verification Spring 2006.
NP and NP- Completeness Bryan Pearsaul. Outline Decision and Optimization Problems Decision and Optimization Problems P and NP P and NP Polynomial-Time.
The Programming Discipline Professor Stephen K. Kwan Things you need to know (learn) for developing large computer programs.
Upper and Lower Bounds for Roots
Query Processing Presented by Aung S. Win.
David Willmor and Suzanne M Embury Informatics Process Group
Xpath Query Evaluation. Goal Evaluating an Xpath query against a given document – To find all matches We will also consider the use of types Complexity.
Review Solve each equation or inequality b = 2, -5 Multiply every term by 12.
Review Byron Gao. Overview Theory of computation: central areas: Automata, Computability, Complexity Computability: Is the problem solvable? –solvable.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
CSE Winter 2008 Introduction to Program Verification January 29 how wang works.
Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.
Disclosure risk when responding to queries with deterministic guarantees Krish Muralidhar University of Kentucky Rathindra Sarathy Oklahoma State University.
(c) 2007 Mauro Pezzè & Michal Young The Big Picture.
Cs3102: Theory of Computation Class 24: NP-Completeness Spring 2010 University of Virginia David Evans.
Analysis of algorithms Analysis of algorithms is the branch of computer science that studies the performance of algorithms, especially their run time.
Cliff Shaffer Computer Science Computational Complexity.
High Integrity Ada in a UML and C world Peter Amey, Neil White Presented by Liping Cai.
E.g.: MS-DOS interface. DIR C: /W /A:D will list all the directories in the root directory of drive C in wide list format. Disadvantage is that commands.
1 Fact-Finding Techniques. 2 u Critical to capture necessary facts to build the required database application. u These facts are captured using fact-finding.
All right reserved by Xuehua Shen 1 Optimal Aggregation Algorithms for Middleware Ronald Fagin, Amnon Lotem, Moni Naor (PODS01)
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Time Complexity of Algorithms (Asymptotic Notations)
Verification & Validation By: Amir Masoud Gharehbaghi
Querying Big Data by Accessing Small Data Wenfei FanUniversity of Edinburgh & Beihang University Floris GeertsUniversity of Antwerp Yang CaoUniversity.
Computability NP complete problems. Space complexity. Homework: [Post proposal]. Find PSPACE- Complete problems. Work on presentations.
This Week Lecture on relational semantics Exercises on logic and relations Labs on using Isabelle to do proofs.
Introduction to NP-Completeness Tahir Azim. The Downside of Computers Many problems can be solved in linear time or polynomial time But there are also.
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
MOPS: an Infrastructure for Examining Security Properties of Software Authors Hao Chen and David Wagner Appears in ACM Conference on Computer and Communications.
Approximation by Constraints Why do we need approximation/interpolation? –Record values at some finite set of points in space and time. –Does not capture.
Rely: Verifying Quantitative Reliability for Programs that Execute on Unreliable Hardware Michael Carbin, Sasa Misailovic, and Martin Rinard MIT CSAIL.
The Big Picture Chapter 3. A decision problem is simply a problem for which the answer is yes or no (True or False). A decision procedure answers a decision.
Safety Guarantee of Continuous Join Queries over Punctuated Data Streams Hua-Gang Li *, Songting Chen, Junichi Tatemura Divykant Agrawal, K. Selcuk Candan.
1 Computability Tractable, Intractable and Non-computable functions.
1 P and NP. 2 Introduction The Traveling Salesperson problem and thousands of other problems are equally hard in the sense that if we had an efficient.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
1 11. Certification Certification – algorithms/methods to verify that a program is safe. Used when restriction does not work because we use a combination.
Advanced Higher Computing Science
Domain Testing Functional testing which tests the application by giving inputs and evaluating its appropriate outputs. system does not accept invalid and.
Orna Kupferman Yoad Lustig
NASA Space Communications Symposium
ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS
Computing Full Disjunctions
Integration Review Problems
Arithmetic Constraints and Automata
Queries with Difference on Probabilistic Databases
Notes Over 2.1 Function {- 3, - 1, 1, 2 } { 0, 2, 5 }
Testing Assignments of Boolean CSP’s
Beyond Proof-of-compliance: Security Analysis in Trust Management
Probabilistic Databases
Verification and Validation
Presentation transcript:

1 8. Safe Query Languages Safe program – its semantics can be at least partially computed on any valid database input. Safety is tied to program verification, because only safe programs are correct. Safety is a concern in any programming language. It is undecidable in general (Halting problem). Is it possible to verify in certain cases that a query is safe?

2 8.1 Safety Levels Closed form – output database contains same type of constraints as the input database. Evaluation – output database may contain more complex constraints than the input database. Recognition – any tuple can be tested to be in the output  -Recognition – for any tuple a it can be tested whether the output contains a tuple b such that | a i – b i | <  for all i. Approximation – lower, upper bounds can be given for output

3 8.2 Restriction Restriction – only allow certain combinations of (constraints, queries) to guarantee safety. Advantage: easy to check Disadvantage: limits flexibility and expressiveness

4 8.4 Safe Refinement and Projection Queries Refinement queries: always safe because they only add constraints. Projection queries: closed-form evaluable if the UOR contains only Linear constraints Addition constraints Polynomial constraints