Probabilistic Assertions

Size: px
Start display at page:

Download "Probabilistic Assertions"

Transcription

1 Expressing and Verifying Probabilistic Assertions Adrian Sampson Pavel Panchekha Todd Mytkowicz Kathryn S. McKinley Dan Grossman Luis Ceze University of Washington Microsoft Research University of Washington PLDI 2014

2 Probabilistic assertions express correctness properties in modern software. Our verifier checks them efficiently and accurately.

3 assert file!= NULL test verify check

4 assert efile!= NULL e must hold on every execution

5 Approximate Computing this approximate image is close to its precise version k-means clustering is likely to converge even on unreliable hardware assert e e Obfuscation for Data Privacy obfuscated data is still useful in aggregate Mobile and Sensing sensor error does not render the app s conclusions useless

6 Approximate Computing this approximate image is close to its precise version k-means clustering is likely to converge even on unreliable hardware assert e Traditional assertions are insufficient e for programs with probabilistic behavior. Obfuscation for Data Privacy obfuscated data is still useful in aggregate Mobile and Sensing sensor error does not render the app s conclusions useless

7 Assertions are insufficient for private-data obfuscation true_avg = average(salaries)! private_avg =! average(obfuscate(salaries))! assert true_avg - private_avg! <= 10,000

8 Assertions are insufficient for private-data obfuscation true_avg = average(salaries)! private_avg =! average( obfuscate(salaries))! assert true_avg - private_avg! <= 10,000 probability distribution

9 Assertion assert e

10 Probabilistic assertion p assert e, p, c

11 Probabilistic assertion p assert e, p, c e must hold with probability p at confidence c

12 Probabilistic assertion p assert e, p, c test? verify? check?

13 How to verify a probabilistic assertion probabilistic program float obfuscated(float n) {! return n + gaussian(0.0, );! }! float average_salary(float* salaries) {! total = 0.0;! for (int i = 0; i < COUNT; ++i)! total += obfuscated(salaries[i]);! avg = total / len(salaries);! p_avg =...; passert e, p, c }?

14 How to verify a probabilistic assertion naively probabilistic program float obfuscated(float n) {! return n + gaussian(0.0, );! }! float average_salary(float* salaries) {! total = 0.0;! for (int i = 0; i < COUNT; ++i)! total += obfuscated(salaries[i]);! avg = total / len(salaries);! p_avg =...; passert e, p, c? }

15 How to verify a probabilistic assertion with statistical reasoning queries & inference passert for statistical models for probabilistic software Church Infer.NET [Sankaranarayanan+ PLDI 2013] [Hur+ PLDI 2014]?

16 How to verify a probabilistic assertion efficiently and accurately distribution extraction via symbolic execution statistical verification optimizations float obfuscated(float n) {! return n + gaussian(0.0, );! }! float average_salary(float* salaries) {! total = 0.0;! for (int i = 0; i < COUNT; ++i)! total += obfuscated(salaries[i]);! avg = total / len(salaries);! p_avg =...; passert e, p, c } Bayesian network IR

17 How to verify a probabilistic assertion efficiently and accurately distribution extraction via symbolic execution statistical verification optimizations float obfuscated(float n) {! return n + gaussian(0.0, );! }! float average_salary(float* salaries) {! total = 0.0;! for (int i = 0; i < COUNT; ++i)! total += obfuscated(salaries[i]);! avg = total / len(salaries);! p_avg =...; passert e, p, c } Bayesian network IR implementation for LLVM & Clang

18 How to verify a probabilistic assertion efficiently and accurately distribution extraction via symbolic execution statistical verification optimizations float obfuscated(float n) {! return n + gaussian(0.0, );! }! float average_salary(float* salaries) {! total = 0.0;! for (int i = 0; i < COUNT; ++i)! total += obfuscated(salaries[i]);! avg = total / len(salaries);! p_avg =...; passert e, p, c } Bayesian network IR implementation for LLVM & Clang

19 Distribution extraction: random draws are symbolic symbolic heap a 4.2 b = a + gaussian(0.0, 1.0) a 4.2 b G0,1

20 Concrete vs. symbolic semantics program + input nondeterministic concrete execution outputs

21 Concrete vs. symbolic semantics program + input nondeterministic concrete execution outputs program + input deterministic symbolic execution nondeterministic sampling outputs

22 a 4.2 b G 0,1 input: a = 4.2! b = gaussian(0.0, 1.0)

23 a 4.2 b G 0,1 input: a = 4.2! b = gaussian(0.0, 1.0)! c = a + b c +

24 a 4.2 b G 0,1 input: a = 4.2! b = gaussian(0.0, 1.0)! c = a + b! d = c + b c + d +

25 input: a = 4.2! b = gaussian(0.0, 1.0)! c = a + b! d = c + b d + c + a 4.2 b G 0,1

26 input: a = 4.2! b = gaussian(0.0, 1.0)! c = a + b! d = c + b! if b > 0.5! e = 2.0! else! e = 4.0 d + if c + > a 4.2 G 0,1 0.5 b e? then 2.0 else 4.0

27 input: a = 4.2! b = gaussian(0.0, 1.0)! c = a + b! d = c + b! if b > 0.5! e = 2.0! else! e = 4.0! passert e <= 3.0,! 0.9, 0.9 d e? c + > if then else a 4.2 G 0, b 4.0

28 input: a = 4.2! b = gaussian(0.0, 1.0)! c = a + b! d = c + b! if b > 0.5! e = 2.0! else! e = 4.0! passert e <= 3.0,! 0.9, ? if then + > 4.2 G 0, else 4.0

29 input: a = unif(2.0, 4.2! 9.0) b = gaussian(0.0, 1.0)! c = a + b! d = c + b! if b > 0.5! e = 2.0! else! e = 4.0! passert e <= 3.0,! 0.9, ? if + > then else 4.2 G 0,

30 concrete input salary = $24,000 input distribution salary = uniform( ) testing static analysis

31 More in the paper Arrays & pointers Loops External code Probabilistic path pruning

32 Distribution extraction produces an expression dag Bayesian network > G 0,1

33 Distribution extraction produces an expression dag Bayesian network 4.2 G 0, >

34 Distribution extraction produces an expression dag Bayesian network nodes: random variables 4.2 G 0,1 edges: dependence + directed & acyclic random draws only at leaves > sample in a single pass

35 distribution extraction via symbolic execution statistical verification optimizations float obfuscated(float n) {! return n + gaussian(0.0, );! }! float average_salary(float* salaries) {! total = 0.0;! for (int i = 0; i < COUNT; ++i)! total += obfuscated(salaries[i]);! avg = total / len(salaries);! p_avg =...; passert e, p, c } Bayesian network IR implementation for LLVM & Clang

36 statistical property passert verifier optimization

37 Bayesian-network IR enables new optimizations G Gʹ Gʹʹ + X G(µ X, Y G(µ Y, Z = X + Y 2 X) 2 Y ) ) Z G(µ X + µ Y, 2 X + 2 Y )

38 Bayesian-network IR enables new optimizations c U Uʹ X U(a, b) Y = cx ) Y U(ca, cb)

39 Bayesian-network IR enables new optimizations U c B X U(a, b) Y X apple c a apple c apple b c ) Y B b a a

40 Central Limit Theorem collapses large sums D D D D D D D G + X 1,X 2,...,X n D Y = X i X i ) Y G(nµ D,n 2 D)

41 distribution extraction via symbolic execution statistical verification optimizations float obfuscated(float n) {! return n + gaussian(0.0, );! }! float average_salary(float* salaries) {! total = 0.0;! for (int i = 0; i < COUNT; ++i)! total += obfuscated(salaries[i]);! avg = total / len(salaries);! p_avg =...; passert e, p, c } Bayesian network IR implementation for LLVM & Clang

42 Verification via direct evaluation D D D D D D D + c B

43 Verification via hypothesis testing D3 G 0,1 +, p, c p μ D 2 c >

44 distribution extraction via symbolic execution statistical verification optimizations float obfuscated(float n) {! return n + gaussian(0.0, );! }! float average_salary(float* salaries) {! total = 0.0;! for (int i = 0; i < COUNT; ++i)! total += obfuscated(salaries[i]);! avg = total / len(salaries);! p_avg =...; passert e, p, c } Bayesian network IR implementation for LLVM & Clang

45 Probabilistic assertions for C and C++.c LLVM IR LLVM IR Native Code strawman stress-tester

46 Probabilistic programs used in the evaluation sensing gpswalk salary privacy salary-abs kmeans approximate computing sobel hotspot inversek2j

47 Running time vs. stress testing analyze sample time relative to baseline B B B B B B B B gpswalk salary salary-abs kmeans sobel hotspot inversek h.mean baseline

48 Running time vs. stress testing analyze sample time relative to baseline B N B N B N B N B N B N B N B N gpswalk salary salary-abs kmeans sobel hotspot inversek h.mean baseline no statistical optimizations

49 Running time vs. stress testing analyze sample time relative to baseline gpswalk salary salary-abs kmeans sobel hotspot inversek h.mean B N O B N O B N O B N O B N O B N O B N O B N O optimized 24 faster than baseline verifier on average Mostly analysis time

50 Probabilistic assertions express correctness properties in modern software. Our verifier checks them efficiently and accurately.

Expressing and Verifying Probabilistic Assertions

Expressing and Verifying Probabilistic Assertions * Artifact * AEC Expressing and Verifying Probabilistic Assertions PLDI * Consistent * Complete * Well Documented * Easy to Reuse * Evaluated * Adrian Sampson Pavel Panchekha University of Washington Todd

More information

EMSCRIPTEN - COMPILING LLVM BITCODE TO JAVASCRIPT (?!)

EMSCRIPTEN - COMPILING LLVM BITCODE TO JAVASCRIPT (?!) EMSCRIPTEN - COMPILING LLVM BITCODE TO JAVASCRIPT (?!) ALON ZAKAI (MOZILLA) @kripken JavaScript..? At the LLVM developer's conference..? Everything compiles into LLVM bitcode The web is everywhere, and

More information

This can dilute the significance of a departure from the null hypothesis. We can focus the test on departures of a particular form.

This can dilute the significance of a departure from the null hypothesis. We can focus the test on departures of a particular form. One-Degree-of-Freedom Tests Test for group occasion interactions has (number of groups 1) number of occasions 1) degrees of freedom. This can dilute the significance of a departure from the null hypothesis.

More information

Bayesian networks - Time-series models - Apache Spark & Scala

Bayesian networks - Time-series models - Apache Spark & Scala Bayesian networks - Time-series models - Apache Spark & Scala Dr John Sandiford, CTO Bayes Server Data Science London Meetup - November 2014 1 Contents Introduction Bayesian networks Latent variables Anomaly

More information

Programming the Internet of Uncertain <T>hings

Programming the Internet of Uncertain <T>hings Programming the Internet of Uncertain hings James ornholt University of Washington Na Meng The University of Texas at Austin Todd Mytkowicz Microsoft Research Kathryn S. McKinley Microsoft Research

More information

Boogie: A Modular Reusable Verifier for Object-Oriented Programs

Boogie: A Modular Reusable Verifier for Object-Oriented Programs Boogie: A Modular Reusable Verifier for Object-Oriented Programs M. Barnett, B.E. Chang, R. DeLine, B. Jacobs, K.R.M. Leino Lorenzo Baesso ETH Zurich Motivation Abstract Domains Modular Architecture Automatic

More information

KEYWORD SEARCH OVER PROBABILISTIC RDF GRAPHS

KEYWORD SEARCH OVER PROBABILISTIC RDF GRAPHS ABSTRACT KEYWORD SEARCH OVER PROBABILISTIC RDF GRAPHS In many real applications, RDF (Resource Description Framework) has been widely used as a W3C standard to describe data in the Semantic Web. In practice,

More information

Compiling Object Oriented Languages. What is an Object-Oriented Programming Language? Implementation: Dynamic Binding

Compiling Object Oriented Languages. What is an Object-Oriented Programming Language? Implementation: Dynamic Binding Compiling Object Oriented Languages What is an Object-Oriented Programming Language? Last time Dynamic compilation Today Introduction to compiling object oriented languages What are the issues? Objects

More information

Not agree with bug 3, precision actually was. 8,5 not set in the code. Not agree with bug 3, precision actually was

Not agree with bug 3, precision actually was. 8,5 not set in the code. Not agree with bug 3, precision actually was Task 1 Task 2 Task 3 Feedback Presence SUM Matrikkel Rühm [5] [1] [2] [1] [1] [10] Feedback to students A64129 1. rühm 0 0 No submission found A72068 1. rühm 5 1 2 1 1 For Bug 3. Actually the variable

More information

Uncertain<T>: A First-Order Type for Uncertain Data

Uncertain<T>: A First-Order Type for Uncertain Data Uncertain: A First-Order Type for Uncertain Data James Bornholt Australian National University u4842199@anu.edu.au Todd Mytkowicz Microsoft Research toddm@microsoft.com Kathryn S. McKinley Microsoft

More information

Formal Verification and Linear-time Model Checking

Formal Verification and Linear-time Model Checking Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging

More information

Understand the role that hypothesis testing plays in an improvement project. Know how to perform a two sample hypothesis test.

Understand the role that hypothesis testing plays in an improvement project. Know how to perform a two sample hypothesis test. HYPOTHESIS TESTING Learning Objectives Understand the role that hypothesis testing plays in an improvement project. Know how to perform a two sample hypothesis test. Know how to perform a hypothesis test

More information

Basics of Statistical Machine Learning

Basics of Statistical Machine Learning CS761 Spring 2013 Advanced Machine Learning Basics of Statistical Machine Learning Lecturer: Xiaojin Zhu jerryzhu@cs.wisc.edu Modern machine learning is rooted in statistics. You will find many familiar

More information

A) 0.1554 B) 0.0557 C) 0.0750 D) 0.0777

A) 0.1554 B) 0.0557 C) 0.0750 D) 0.0777 Math 210 - Exam 4 - Sample Exam 1) What is the p-value for testing H1: µ < 90 if the test statistic is t=-1.592 and n=8? A) 0.1554 B) 0.0557 C) 0.0750 D) 0.0777 2) The owner of a football team claims that

More information

Towards practical reactive security audit using extended static checkers 1

Towards practical reactive security audit using extended static checkers 1 Towards practical reactive security audit using extended static checkers 1 Julien Vanegue 1 Shuvendu K. Lahiri 2 1 Bloomberg LP, New York 2 Microsoft Research, Redmond May 20, 2013 1 The work was conducted

More information

MPI-Checker Static Analysis for MPI

MPI-Checker Static Analysis for MPI MPI-Checker Static Analysis for MPI Alexander Droste, Michael Kuhn, Thomas Ludwig November 15, 2015 Motivation 2 / 39 Why is runtime analysis in HPC challenging? Large amount of resources are used State

More information

Scoping (Readings 7.1,7.4,7.6) Parameter passing methods (7.5) Building symbol tables (7.6)

Scoping (Readings 7.1,7.4,7.6) Parameter passing methods (7.5) Building symbol tables (7.6) Semantic Analysis Scoping (Readings 7.1,7.4,7.6) Static Dynamic Parameter passing methods (7.5) Building symbol tables (7.6) How to use them to find multiply-declared and undeclared variables Type checking

More information

Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland

Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland Software Testing & Analysis (F22ST3) Static Analysis Techniques Andrew Ireland School of Mathematical and Computer Science Heriot-Watt University Edinburgh Software Testing & Analysis (F22ST3): Static

More information

Database Security. The Need for Database Security

Database Security. The Need for Database Security Database Security Public domain NASA image L-1957-00989 of people working with an IBM type 704 electronic data processing machine. 1 The Need for Database Security Because databases play such an important

More information

Regression Verification: Status Report

Regression Verification: Status Report Regression Verification: Status Report Presentation by Dennis Felsing within the Projektgruppe Formale Methoden der Softwareentwicklung 2013-12-11 1/22 Introduction How to prevent regressions in software

More information

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection

More information

InvGen: An Efficient Invariant Generator

InvGen: An Efficient Invariant Generator InvGen: An Efficient Invariant Generator Ashutosh Gupta and Andrey Rybalchenko Max Planck Institute for Software Systems (MPI-SWS) Abstract. In this paper we present InvGen, an automatic linear arithmetic

More information

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation PLDI 03 A Static Analyzer for Large Safety-Critical Software B. Blanchet, P. Cousot, R. Cousot, J. Feret L. Mauborgne, A. Miné, D. Monniaux,. Rival CNRS École normale supérieure École polytechnique Paris

More information

A Bayesian Approach for on-line max auditing of Dynamic Statistical Databases

A Bayesian Approach for on-line max auditing of Dynamic Statistical Databases A Bayesian Approach for on-line max auditing of Dynamic Statistical Databases Gerardo Canfora Bice Cavallo University of Sannio, Benevento, Italy, {gerardo.canfora,bice.cavallo}@unisannio.it ABSTRACT In

More information

How Efficient can Memory Checking be?

How Efficient can Memory Checking be? How Efficient can Memory Checking be? Cynthia Dwork 1, Moni Naor 2,, Guy N. Rothblum 3,, and Vinod Vaikuntanathan 4, 1 Microsoft Research 2 The Weizmann Institute of Science 3 MIT 4 IBM Research Abstract.

More information

Graph Analytics in Big Data. John Feo Pacific Northwest National Laboratory

Graph Analytics in Big Data. John Feo Pacific Northwest National Laboratory Graph Analytics in Big Data John Feo Pacific Northwest National Laboratory 1 A changing World The breadth of problems requiring graph analytics is growing rapidly Large Network Systems Social Networks

More information

Tachyon: a Meta-circular Optimizing JavaScript Virtual Machine

Tachyon: a Meta-circular Optimizing JavaScript Virtual Machine Tachyon: a Meta-circular Optimizing JavaScript Virtual Machine Maxime Chevalier-Boisvert Erick Lavoie Marc Feeley Bruno Dufour {chevalma, lavoeric, feeley, dufour}@iro.umontreal.ca DIRO - Université de

More information

Project Report BIG-DATA CONTENT RETRIEVAL, STORAGE AND ANALYSIS FOUNDATIONS OF DATA-INTENSIVE COMPUTING. Masters in Computer Science

Project Report BIG-DATA CONTENT RETRIEVAL, STORAGE AND ANALYSIS FOUNDATIONS OF DATA-INTENSIVE COMPUTING. Masters in Computer Science Data Intensive Computing CSE 486/586 Project Report BIG-DATA CONTENT RETRIEVAL, STORAGE AND ANALYSIS FOUNDATIONS OF DATA-INTENSIVE COMPUTING Masters in Computer Science University at Buffalo Website: http://www.acsu.buffalo.edu/~mjalimin/

More information

Software Metrics in Static Program Analysis

Software Metrics in Static Program Analysis www.redlizards.com Software Metrics in Static Program Analysis ICFEM, 11/18/2010 Andreas Vogelsang 1, Ansgar Fehnker 2, Ralf Huuck 2, Wolfgang Reif 3 1 Technical University of Munich 2 NICTA, Sydney 3

More information

Unified Static and Runtime Verification of Object-Oriented Software

Unified Static and Runtime Verification of Object-Oriented Software Unified Static and Runtime Verification of Object-Oriented Software Wolfgang Ahrendt 1, Mauricio Chimento 1, Gerardo Schneider 2, Gordon J. Pace 3 1 Chalmers University of Technology, Gothenburg, Sweden

More information

Introduction to Hypothesis Testing. Hypothesis Testing. Step 1: State the Hypotheses

Introduction to Hypothesis Testing. Hypothesis Testing. Step 1: State the Hypotheses Introduction to Hypothesis Testing 1 Hypothesis Testing A hypothesis test is a statistical procedure that uses sample data to evaluate a hypothesis about a population Hypothesis is stated in terms of the

More information

SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis

SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis M. Vidyasagar Cecil & Ida Green Chair The University of Texas at Dallas Email: M.Vidyasagar@utdallas.edu October 17, 2015 Outline

More information

General purpose Distributed Computing using a High level Language. Michael Isard

General purpose Distributed Computing using a High level Language. Michael Isard Dryad and DryadLINQ General purpose Distributed Computing using a High level Language Michael Isard Microsoft Research Silicon Valley Distributed Data Parallel Computing Workloads beyond standard SQL,

More information

Polarization codes and the rate of polarization

Polarization codes and the rate of polarization Polarization codes and the rate of polarization Erdal Arıkan, Emre Telatar Bilkent U., EPFL Sept 10, 2008 Channel Polarization Given a binary input DMC W, i.i.d. uniformly distributed inputs (X 1,...,

More information

IKOS: A Framework for Static Analysis based on Abstract Interpretation (Tool Paper)

IKOS: A Framework for Static Analysis based on Abstract Interpretation (Tool Paper) IKOS: A Framework for Static Analysis based on Abstract Interpretation (Tool Paper) Guillaume Brat, Jorge A. Navas, Nija Shi, and Arnaud Venet NASA Ames Research Center, Moffett Field, CA 94035 Abstract.

More information

Clock Synchronization

Clock Synchronization Clock Synchronization Henrik Lönn Electronics & Software Volvo Technological Development Contents General Types of Synchronisation Faults and problems to cope with Example algorithms Transmission delays

More information

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation: CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm

More information

Performance Analysis of Naive Bayes and J48 Classification Algorithm for Data Classification

Performance Analysis of Naive Bayes and J48 Classification Algorithm for Data Classification Performance Analysis of Naive Bayes and J48 Classification Algorithm for Data Classification Tina R. Patil, Mrs. S. S. Sherekar Sant Gadgebaba Amravati University, Amravati tnpatil2@gmail.com, ss_sherekar@rediffmail.com

More information

CIS 631 Database Management Systems Sample Final Exam

CIS 631 Database Management Systems Sample Final Exam CIS 631 Database Management Systems Sample Final Exam 1. (25 points) Match the items from the left column with those in the right and place the letters in the empty slots. k 1. Single-level index files

More information

Big Data and Big Analytics

Big Data and Big Analytics Big Data and Big Analytics Introducing SciDB Open source, massively parallel DBMS and analytic platform Array data model (rather than SQL, Unstructured, XML, or triple-store) Extensible micro-kernel architecture

More information

Supplement to Call Centers with Delay Information: Models and Insights

Supplement to Call Centers with Delay Information: Models and Insights Supplement to Call Centers with Delay Information: Models and Insights Oualid Jouini 1 Zeynep Akşin 2 Yves Dallery 1 1 Laboratoire Genie Industriel, Ecole Centrale Paris, Grande Voie des Vignes, 92290

More information

Technical paper review. Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald.

Technical paper review. Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald. Technical paper review Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald Garvit Pahal Indian Institute of Technology, Kanpur October 28, 2014 Garvit

More information

Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled

Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled Static Analysis 15-654: Analysis of Software Artifacts Jonathan Aldrich 1 Find the Bug! Source: Engler et al., Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions, OSDI

More information

Practice problems for Homework 12 - confidence intervals and hypothesis testing. Open the Homework Assignment 12 and solve the problems.

Practice problems for Homework 12 - confidence intervals and hypothesis testing. Open the Homework Assignment 12 and solve the problems. Practice problems for Homework 1 - confidence intervals and hypothesis testing. Read sections 10..3 and 10.3 of the text. Solve the practice problems below. Open the Homework Assignment 1 and solve the

More information

Hypothesis Testing for Beginners

Hypothesis Testing for Beginners Hypothesis Testing for Beginners Michele Piffer LSE August, 2011 Michele Piffer (LSE) Hypothesis Testing for Beginners August, 2011 1 / 53 One year ago a friend asked me to put down some easy-to-read notes

More information

Institut für Parallele und Verteilte Systeme. Abteilung Anwendersoftware. Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart

Institut für Parallele und Verteilte Systeme. Abteilung Anwendersoftware. Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart Institut für Parallele und Verteilte Systeme Abteilung Anwendersoftware Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart Diplomarbeit Nr. 3243 Development and Evaluation of a Framework for

More information

RevoScaleR Speed and Scalability

RevoScaleR Speed and Scalability EXECUTIVE WHITE PAPER RevoScaleR Speed and Scalability By Lee Edlefsen Ph.D., Chief Scientist, Revolution Analytics Abstract RevoScaleR, the Big Data predictive analytics library included with Revolution

More information

Simulation Exercises to Reinforce the Foundations of Statistical Thinking in Online Classes

Simulation Exercises to Reinforce the Foundations of Statistical Thinking in Online Classes Simulation Exercises to Reinforce the Foundations of Statistical Thinking in Online Classes Simcha Pollack, Ph.D. St. John s University Tobin College of Business Queens, NY, 11439 pollacks@stjohns.edu

More information

A Case Study in Software Enhancements as Six Sigma Process Improvements: Simulating Productivity Savings

A Case Study in Software Enhancements as Six Sigma Process Improvements: Simulating Productivity Savings A Case Study in Software Enhancements as Six Sigma Process Improvements: Simulating Productivity Savings Dan Houston, Ph.D. Automation and Control Solutions Honeywell, Inc. dxhouston@ieee.org Abstract

More information

Lecture 1: Oracle Turing Machines

Lecture 1: Oracle Turing Machines Computational Complexity Theory, Fall 2008 September 10 Lecture 1: Oracle Turing Machines Lecturer: Kristoffer Arnsfelt Hansen Scribe: Casper Kejlberg-Rasmussen Oracle TM Definition 1 Let A Σ. Then a Oracle

More information

Attribution. Modified from Stuart Russell s slides (Berkeley) Parts of the slides are inspired by Dan Klein s lecture material for CS 188 (Berkeley)

Attribution. Modified from Stuart Russell s slides (Berkeley) Parts of the slides are inspired by Dan Klein s lecture material for CS 188 (Berkeley) Machine Learning 1 Attribution Modified from Stuart Russell s slides (Berkeley) Parts of the slides are inspired by Dan Klein s lecture material for CS 188 (Berkeley) 2 Outline Inductive learning Decision

More information

Independent t- Test (Comparing Two Means)

Independent t- Test (Comparing Two Means) Independent t- Test (Comparing Two Means) The objectives of this lesson are to learn: the definition/purpose of independent t-test when to use the independent t-test the use of SPSS to complete an independent

More information

Eurovent Certification for Air Handling Units : Five Energy Efficiency classes to make the right choice

Eurovent Certification for Air Handling Units : Five Energy Efficiency classes to make the right choice Eurovent Certification for Air Handling Units : Five Energy Efficiency classes to make the right choice A truly international certification The Eurovent Certification Programmes are managed by an autonomous

More information

Learning outcomes. Knowledge and understanding. Competence and skills

Learning outcomes. Knowledge and understanding. Competence and skills Syllabus Master s Programme in Statistics and Data Mining 120 ECTS Credits Aim The rapid growth of databases provides scientists and business people with vast new resources. This programme meets the challenges

More information

Wave Analytics Data Integration

Wave Analytics Data Integration Wave Analytics Data Integration Salesforce, Spring 16 @salesforcedocs Last updated: April 28, 2016 Copyright 2000 2016 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of

More information

CARAMEL: Detecting and Fixing Performance Problems That Have Non-Intrusive Fixes

CARAMEL: Detecting and Fixing Performance Problems That Have Non-Intrusive Fixes CARAMEL: Detecting and Fixing Performance Problems That Have Non-Intrusive Fixes Adrian Nistor 1, Po-Chun Chang 2, Cosmin Radoi 3, Shan Lu 4 1 Chapman University, 2 University of Wisconsin Madison, 3 University

More information

Detection of changes in variance using binary segmentation and optimal partitioning

Detection of changes in variance using binary segmentation and optimal partitioning Detection of changes in variance using binary segmentation and optimal partitioning Christian Rohrbeck Abstract This work explores the performance of binary segmentation and optimal partitioning in the

More information

StaRVOOrS: A Tool for Combined Static and Runtime Verification of Java

StaRVOOrS: A Tool for Combined Static and Runtime Verification of Java StaRVOOrS: A Tool for Combined Static and Runtime Verification of Java Jesús Mauricio Chimento 1, Wolfgang Ahrendt 1, Gordon J. Pace 2, and Gerardo Schneider 3 1 Chalmers University of Technology, Sweden.

More information

BIDM Project. Predicting the contract type for IT/ITES outsourcing contracts

BIDM Project. Predicting the contract type for IT/ITES outsourcing contracts BIDM Project Predicting the contract type for IT/ITES outsourcing contracts N a n d i n i G o v i n d a r a j a n ( 6 1 2 1 0 5 5 6 ) The authors believe that data modelling can be used to predict if an

More information

Analysis report examination with CUBE

Analysis report examination with CUBE Analysis report examination with CUBE Brian Wylie Jülich Supercomputing Centre CUBE Parallel program analysis report exploration tools Libraries for XML report reading & writing Algebra utilities for report

More information

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com Best Practises for LabVIEW FPGA Design Flow 1 Agenda Overall Application Design Flow Host, Real-Time and FPGA LabVIEW FPGA Architecture Development FPGA Design Flow Common FPGA Architectures Testing and

More information

6.088 Intro to C/C++ Day 4: Object-oriented programming in C++ Eunsuk Kang and Jean Yang

6.088 Intro to C/C++ Day 4: Object-oriented programming in C++ Eunsuk Kang and Jean Yang 6.088 Intro to C/C++ Day 4: Object-oriented programming in C++ Eunsuk Kang and Jean Yang Today s topics Why objects? Object-oriented programming (OOP) in C++ classes fields & methods objects representation

More information

10/14/11. Big data in science Application to large scale physical systems

10/14/11. Big data in science Application to large scale physical systems Big data in science Application to large scale physical systems Large scale physical systems Large scale systems with spatio-temporal dynamics Propagation of pollutants in air, Water distribution networks,

More information

1 Abstract Data Types Information Hiding

1 Abstract Data Types Information Hiding 1 1 Abstract Data Types Information Hiding 1.1 Data Types Data types are an integral part of every programming language. ANSI-C has int, double and char to name just a few. Programmers are rarely content

More information

HIGH PERFORMANCE BIG DATA ANALYTICS

HIGH PERFORMANCE BIG DATA ANALYTICS HIGH PERFORMANCE BIG DATA ANALYTICS Kunle Olukotun Electrical Engineering and Computer Science Stanford University June 2, 2014 Explosion of Data Sources Sensors DoD is swimming in sensors and drowning

More information

Database Design Patterns. Winter 2006-2007 Lecture 24

Database Design Patterns. Winter 2006-2007 Lecture 24 Database Design Patterns Winter 2006-2007 Lecture 24 Trees and Hierarchies Many schemas need to represent trees or hierarchies of some sort Common way of representing trees: An adjacency list model Each

More information

Network Algorithms for Homeland Security

Network Algorithms for Homeland Security Network Algorithms for Homeland Security Mark Goldberg and Malik Magdon-Ismail Rensselaer Polytechnic Institute September 27, 2004. Collaborators J. Baumes, M. Krishmamoorthy, N. Preston, W. Wallace. Partially

More information

An Open Framework for Reverse Engineering Graph Data Visualization. Alexandru C. Telea Eindhoven University of Technology The Netherlands.

An Open Framework for Reverse Engineering Graph Data Visualization. Alexandru C. Telea Eindhoven University of Technology The Netherlands. An Open Framework for Reverse Engineering Graph Data Visualization Alexandru C. Telea Eindhoven University of Technology The Netherlands Overview Reverse engineering (RE) overview Limitations of current

More information

An Abstract Monte-Carlo Method for the Analysis of Probabilistic Programs

An Abstract Monte-Carlo Method for the Analysis of Probabilistic Programs Intended for submission to the 28th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages An Abstract Monte-Carlo Method for the Analysis of Probabilistic Programs David Monniaux École

More information

MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research MapReduce and Distributed Data Analysis Google Research 1 Dealing With Massive Data 2 2 Dealing With Massive Data Polynomial Memory Sublinear RAM Sketches External Memory Property Testing 3 3 Dealing With

More information

A Brief Introduction to Static Analysis

A Brief Introduction to Static Analysis A Brief Introduction to Static Analysis Sam Blackshear March 13, 2012 Outline A theoretical problem and how to ignore it An example static analysis What is static analysis used for? Commercial successes

More information

Take An Internal Look at Hadoop. Hairong Kuang Grid Team, Yahoo! Inc hairong@yahoo-inc.com

Take An Internal Look at Hadoop. Hairong Kuang Grid Team, Yahoo! Inc hairong@yahoo-inc.com Take An Internal Look at Hadoop Hairong Kuang Grid Team, Yahoo! Inc hairong@yahoo-inc.com What s Hadoop Framework for running applications on large clusters of commodity hardware Scale: petabytes of data

More information

Life of A Knowledge Base (KB)

Life of A Knowledge Base (KB) Life of A Knowledge Base (KB) A knowledge base system is a special kind of database management system to for knowledge base management. KB extraction: knowledge extraction using statistical models in NLP/ML

More information

Data Structures and Algorithms Written Examination

Data Structures and Algorithms Written Examination Data Structures and Algorithms Written Examination 22 February 2013 FIRST NAME STUDENT NUMBER LAST NAME SIGNATURE Instructions for students: Write First Name, Last Name, Student Number and Signature where

More information

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca

More information

Fully Automated Static Analysis of Fedora Packages

Fully Automated Static Analysis of Fedora Packages Fully Automated Static Analysis of Fedora Packages Red Hat Kamil Dudka August 9th, 2014 Abstract There are static analysis tools (such as Clang or Cppcheck) that are able to find bugs in Fedora packages

More information

Cloud Computing. Up until now

Cloud Computing. Up until now Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines

More information

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Why? A central concept in Computer Science. Algorithms are ubiquitous. Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

More information

THEMIS: Fairness in Data Stream Processing under Overload

THEMIS: Fairness in Data Stream Processing under Overload THEMIS: Fairness in Data Stream Processing under Overload Evangelia Kalyvianaki City University London, UK Marco Fiscato Imperial College London, UK Theodoros Salonidis IBM Research, USA Peter R. Pietzuch

More information

The C Programming Language course syllabus associate level

The C Programming Language course syllabus associate level TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming

More information

HiBench Installation. Sunil Raiyani, Jayam Modi

HiBench Installation. Sunil Raiyani, Jayam Modi HiBench Installation Sunil Raiyani, Jayam Modi Last Updated: May 23, 2014 CONTENTS Contents 1 Introduction 1 2 Installation 1 3 HiBench Benchmarks[3] 1 3.1 Micro Benchmarks..............................

More information

How to make the computer understand? Lecture 15: Putting it all together. Example (Output assembly code) Example (input program) Anatomy of a Computer

How to make the computer understand? Lecture 15: Putting it all together. Example (Output assembly code) Example (input program) Anatomy of a Computer How to make the computer understand? Fall 2005 Lecture 15: Putting it all together From parsing to code generation Write a program using a programming language Microprocessors talk in assembly language

More information

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new Reminder: Complexity (1) Parallel Complexity Theory Lecture 6 Number of steps or memory units required to compute some result In terms of input size Using a single processor O(1) says that regardless of

More information

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new GAP (2) Graph Accessibility Problem (GAP) (1)

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new GAP (2) Graph Accessibility Problem (GAP) (1) Reminder: Complexity (1) Parallel Complexity Theory Lecture 6 Number of steps or memory units required to compute some result In terms of input size Using a single processor O(1) says that regardless of

More information

When COTS is not SOUP Commercial Off-the-Shelf Software in Medical Systems. Chris Hobbs, Senior Developer, Safe Systems

When COTS is not SOUP Commercial Off-the-Shelf Software in Medical Systems. Chris Hobbs, Senior Developer, Safe Systems When COTS is not SOUP Commercial Off-the-Shelf Software in Medical Systems Chris Hobbs, Senior Developer, Safe Systems 2 Audience and Assumptions Who will benefit from this presentation? Software designers

More information

Big Data and Analytics by Seema Acharya and Subhashini Chellappan Copyright 2015, WILEY INDIA PVT. LTD. Introduction to Pig

Big Data and Analytics by Seema Acharya and Subhashini Chellappan Copyright 2015, WILEY INDIA PVT. LTD. Introduction to Pig Introduction to Pig Agenda What is Pig? Key Features of Pig The Anatomy of Pig Pig on Hadoop Pig Philosophy Pig Latin Overview Pig Latin Statements Pig Latin: Identifiers Pig Latin: Comments Data Types

More information

Techniques for Supporting Prediction of Security Breaches in. Critical Cloud Infrastructures Using Bayesian Network and. Markov Decision Process

Techniques for Supporting Prediction of Security Breaches in. Critical Cloud Infrastructures Using Bayesian Network and. Markov Decision Process Techniques for Supporting Prediction of Security Breaches in Critical Cloud Infrastructures Using Bayesian Network and Markov Decision Process by Vinjith Nagaraja A Thesis Presentation in Partial Fulfillment

More information

Part 2: Community Detection

Part 2: Community Detection Chapter 8: Graph Data Part 2: Community Detection Based on Leskovec, Rajaraman, Ullman 2014: Mining of Massive Datasets Big Data Management and Analytics Outline Community Detection - Social networks -

More information

Probabilistic Prediction of Privacy Risks

Probabilistic Prediction of Privacy Risks Probabilistic Prediction of Privacy Risks in User Search Histories Joanna Biega Ida Mele Gerhard Weikum PSBD@CIKM, Shanghai, 07.11.2014 Or rather: On diverging towards user-centric privacy Traditional

More information

3. The Junction Tree Algorithms

3. The Junction Tree Algorithms A Short Course on Graphical Models 3. The Junction Tree Algorithms Mark Paskin mark@paskin.org 1 Review: conditional independence Two random variables X and Y are independent (written X Y ) iff p X ( )

More information

APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION

APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION 1 APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION Validation: Are we building the right product? Does program meet expectations of user? Verification: Are we building the product right?

More information

Scalability. Microsoft Dynamics GP 10.0. Benchmark Performance: Advantages of Microsoft SQL Server 2008 with Compression.

Scalability. Microsoft Dynamics GP 10.0. Benchmark Performance: Advantages of Microsoft SQL Server 2008 with Compression. Scalability Microsoft Dynamics GP 10.0 Benchmark Performance: Advantages of Microsoft SQL Server 2008 with Compression White Paper May 2009 Contents Introduction... 3 Summary Results... 3 Benchmark Test

More information

Simulation-Based Security with Inexhaustible Interactive Turing Machines

Simulation-Based Security with Inexhaustible Interactive Turing Machines Simulation-Based Security with Inexhaustible Interactive Turing Machines Ralf Küsters Institut für Informatik Christian-Albrechts-Universität zu Kiel 24098 Kiel, Germany kuesters@ti.informatik.uni-kiel.de

More information

Integration Technologies Group (ITG) ITIL V3 Service Asset and Configuration Management Assessment Robert R. Vespe Page 1 of 19

Integration Technologies Group (ITG) ITIL V3 Service Asset and Configuration Management Assessment Robert R. Vespe Page 1 of 19 Service Asset and Configuration 1. Does the tool facilitate the registration and management of an organization s logical, physical and virtual Configuration Items (CIs)? For example, services, systems,

More information

Event Processing Middleware for Wireless Sensor Networks

Event Processing Middleware for Wireless Sensor Networks Event Processing Middleware for Wireless Sensor Networks Selvakennedy Selvadurai University of Sydney Outline Introduction System Assumptions EPM Architecture Group Management and Centre Localisation Components

More information

Outline Introduction Circuits PRGs Uniform Derandomization Refs. Derandomization. A Basic Introduction. Antonis Antonopoulos.

Outline Introduction Circuits PRGs Uniform Derandomization Refs. Derandomization. A Basic Introduction. Antonis Antonopoulos. Derandomization A Basic Introduction Antonis Antonopoulos CoReLab Seminar National Technical University of Athens 21/3/2011 1 Introduction History & Frame Basic Results 2 Circuits Definitions Basic Properties

More information

A Statistical Framework for Operational Infrasound Monitoring

A Statistical Framework for Operational Infrasound Monitoring A Statistical Framework for Operational Infrasound Monitoring Stephen J. Arrowsmith Rod W. Whitaker LA-UR 11-03040 The views expressed here do not necessarily reflect the views of the United States Government,

More information

bigdata Managing Scale in Ontological Systems

bigdata Managing Scale in Ontological Systems Managing Scale in Ontological Systems 1 This presentation offers a brief look scale in ontological (semantic) systems, tradeoffs in expressivity and data scale, and both information and systems architectural

More information

Project management: a simulation-based optimization method for dynamic time-cost tradeoff decisions

Project management: a simulation-based optimization method for dynamic time-cost tradeoff decisions Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 2009 Project management: a simulation-based optimization method for dynamic time-cost tradeoff decisions Radhamés

More information

KS3 Computing Group 1 Programme of Study 2015 2016 2 hours per week

KS3 Computing Group 1 Programme of Study 2015 2016 2 hours per week 1 07/09/15 2 14/09/15 3 21/09/15 4 28/09/15 Communication and Networks esafety Obtains content from the World Wide Web using a web browser. Understands the importance of communicating safely and respectfully

More information