Learning Programs from Noisy Data

Size: px
Start display at page:

Download "Learning Programs from Noisy Data"

Transcription

1 Learning Programs from Noisy Data Veselin Raychev Pavol Bielik Martin Vechev Andreas Krause ETH Zurich

2 Why learn programs from examples? Input/output examples often easier to provide examples than specification (e.g. in FlashFill) 2

3 Why learn programs from examples? Input/output examples learn a function p such that often easier to provide examples than specification (e.g. in FlashFill) p( )= p( )=...? 3

4 Why learn programs from examples? Input/output examples learn a function p such that often easier to provide examples than specification (e.g. in FlashFill) the user may make a mistake in the examples p( )= p( )=...? 4

5 Why learn programs from examples? Input/output examples learn a function p such that often easier to provide examples than specification (e.g. in FlashFill) the user may make a mistake in the examples p( )= p( )=...? Actual goal: produce p that the user really wanted and tried to specify 5

6 Why learn programs from examples? Input/output examples learn a function p such that often easier to provide examples than specification (e.g. in FlashFill) the user may make a mistake in the examples p( )= p( )=...? Actual goal: produce p that the user really wanted and tried to specify Key problem of synthesis: overfits, not robust to noise 6

7 Learning Programs from Data: Defining Dimensions Handling errors in the dataset Number of Examples Learned program complexity 7

8 Learning Programs from Data: Defining Dimensions Program synthesis (PL) Handling errors in the dataset Number of Examples Learned program complexity no tens interesting programs 8

9 Learning Programs from Data: Defining Dimensions Program synthesis (PL) Deep learning (ML) Handling errors in the dataset no yes Number of Examples tens millions Learned program complexity interesting programs simple, but unexplainable functions 9

10 Learning Programs from Data: Defining Dimensions Program synthesis (PL) This paper bridges a gap Deep learning (ML) Handling errors in the dataset no yes yes Number of Examples tens millions millions Learned program complexity interesting programs interesting programs simple, but unexplainable functions 10

11 Learning Programs from Data: Defining Dimensions Program synthesis (PL) This paper bridges a gap Deep learning (ML) Handling errors in the dataset no yes yes Number of Examples tens millions millions Learned program complexity interesting programs interesting programs simple, but unexplainable functions expands capabilities of existing synthesizers 11

12 Learning Programs from Data: Defining Dimensions Program synthesis (PL) This paper bridges a gap Deep learning (ML) Handling errors in the dataset no yes yes Number of Examples tens millions millions Learned program complexity interesting programs interesting programs simple, but unexplainable functions expands capabilities of existing synthesizers new state-of-the-art precision for programming tasks 12

13 Learning Programs from Data: Defining Dimensions Program synthesis (PL) This paper bridges a gap Deep learning (ML) Handling errors in the dataset Number of Examples Learned program complexity no tens interesting programs yes yes Bridges gap between ML and PL millions Advances both areas interesting programs millions simple, but unexplainable functions expands capabilities of existing synthesizers new state-of-the-art precision for programming tasks 13

14 In this paper A general framework that handles errors in training dataset learns statistical models on data handles synthesis with millions of examples Instantiated with two synthesizers generalize existing works 14

15 Contributions New probabilistic models Handling noise Input/output examples 1. synthesize p 2. use probabilistic model parametrized with p Handling large datasets incorrect examples Representative dataset sampler Program generator 15

16 Contributions New probabilistic models Handling noise Input/output examples 1. synthesize p 2. use probabilistic model parametrized with p Handling large datasets incorrect examples Representative dataset sampler Program generator 16

17 Synthesis with noise: usage model Input/output examples 17

18 Synthesis with noise: usage model Input/output examples Domain Specific Language 18

19 Synthesis with noise: usage model Input/output examples synthesizer Domain Specific Language 19

20 Synthesis with noise: usage model Input/output examples synthesizer Domain Specific Language p such that p( )= p( )=... 20

21 Synthesis with noise: usage model Input/output examples incorrect example (e.g. a typo) synthesizer Domain Specific Language p such that p( )= p( )=... 21

22 Synthesis with noise: usage model Input/output examples incorrect example (e.g. a typo) synthesizer Domain Specific Language p such that p( )= p( )=... p( ) 22

23 Synthesis with noise: usage model Input/output examples incorrect example (e.g. a typo) synthesizer Domain Specific Language new kind of feedback from synthesizer p such that p( )= p( )=... p( ) 23

24 Synthesis with noise: usage model Input/output examples incorrect example (e.g. a typo) Tell user to remove suspicious example, or synthesizer Domain Specific Language new kind of feedback from synthesizer p such that p( )= p( )=... p( ) Ask for more examples 24

25 Handling noise: problem statement D: Input/output examples dataset of input/output examples incorrect examples synthesizer p best = arg min errors(d, p) p P Too long program, hardcodes the input/outputs. Synthesis must penalize such answers space of possible programs in DSL Our Issue: problem formulation: if return if return if return if return p P return such regularization a program makes constant no errors p best = arg min errors(d, p) + λr(p) and it may be the only solution to the minimization problem regularizer penalizes long error rate programs 25

26 Noisy synthesis using SMT p best = arg min errors(d, p) + λr(p) p P total solution cost number of instructions 26

27 Noisy synthesis using SMT p best = arg min errors(d, p) + λr(p) p P total solution cost number of instructions 27

28 Noisy synthesis using SMT p best = arg min errors(d, p) + λr(p) p P total solution cost number of instructions encoding err 1 = if p( )= then 0 else 1 err 2 = if p( )= then 0 else 1 err 3 = if p( )= then 0 else 1 errors = err 1 + err 2 + err 3 p P r (with r instructions) Ψ formula given to SMT solver 28

29 Noisy synthesis using SMT p best = arg min errors(d, p) + λr(p) p P total solution cost number of instructions encoding err 1 = if p( )= then 0 else 1 err 2 = if p( )= then 0 else 1 err 3 = if p( )= then 0 else 1 errors = err 1 + err 2 + err 3 p P r (with r instructions) Ψ formula given to SMT solver Ask a number of SMT queries in increasing value of solution cost e.g. for λ = 0.6 costs are r cost number of errors

30 Noisy synthesis using SMT p best = arg min errors(d, p) + λr(p) p P total solution cost number of instructions encoding err 1 = if p( )= then 0 else 1 err 2 = if p( )= then 0 else 1 err 3 = if p( )= then 0 else 1 errors = err 1 + err 2 + err 3 p P r (with r instructions) Ψ formula given to SMT solver Ask a number of SMT queries in increasing value of solution cost e.g. for λ = 0.6 costs are r cost number of errors UNSAT

31 Noisy synthesis using SMT p best = arg min errors(d, p) + λr(p) p P total solution cost number of instructions encoding err 1 = if p( )= then 0 else 1 err 2 = if p( )= then 0 else 1 err 3 = if p( )= then 0 else 1 errors = err 1 + err 2 + err 3 p P r (with r instructions) Ψ formula given to SMT solver Ask a number of SMT queries in increasing value of solution cost e.g. for λ = 0.6 costs are r cost number of errors UNSAT UNSAT

32 Noisy synthesis using SMT p best = arg min errors(d, p) + λr(p) p P total solution cost number of instructions encoding err 1 = if p( )= then 0 else 1 err 2 = if p( )= then 0 else 1 err 3 = if p( )= then 0 else 1 errors = err 1 + err 2 + err 3 p P r (with r instructions) Ψ formula given to SMT solver Ask a number of SMT queries in increasing value of solution cost e.g. for λ = 0.6 costs are r cost number of errors UNSAT 0.6 UNSAT UNSAT

33 Noisy synthesis using SMT p best = arg min errors(d, p) + λr(p) p P total solution cost number of instructions encoding err 1 = if p( )= then 0 else 1 err 2 = if p( )= then 0 else 1 err 3 = if p( )= then 0 else 1 errors = err 1 + err 2 + err 3 p P r (with r instructions) Ψ formula given to SMT solver Ask a number of SMT queries in increasing value of solution cost e.g. for λ = 0.6 costs are r cost number of errors UNSAT 0.6 UNSAT UNSAT UNSAT

34 Noisy synthesis using SMT p best = arg min errors(d, p) + λr(p) p P total solution cost number of instructions encoding err 1 = if p( )= then 0 else 1 err 2 = if p( )= then 0 else 1 err 3 = if p( )= then 0 else 1 errors = err 1 + err 2 + err 3 p P r (with r instructions) Ψ formula given to SMT solver Ask a number of SMT queries in increasing value of solution cost e.g. for λ = 0.6 costs are r cost number of errors UNSAT 0.6 UNSAT SAT 2 UNSAT UNSAT

35 Noisy synthesis using SMT p best = arg min errors(d, p) + λr(p) p P total solution cost number of instructions encoding err 1 = if p( )= then 0 else 1 err 2 = if p( )= then 0 else 1 err 3 = if p( )= then 0 else 1 errors = err 1 + err 2 + err 3 p P r (with r instructions) Ψ formula given to SMT solver Ask a number of SMT queries in increasing value of solution cost e.g. for λ = 0.6 costs are r cost number of errors UNSAT 0.6 UNSAT SAT 2 UNSAT UNSAT best program is with two instructions and makes one error 35

36 Noisy synthesizer: example Take an actual synthesizer and show that we can make it handle noise 36

37 Implementation: BitSyn For BitStream programs, using Z3 similar to Jha et al.[icse 10] and Gulwani et al.[pldi 11] Example program: function check_if_power_of_2(int32 x) { var o = add(x, 1) return bitwise_and(x, o) } synthesized, short loop-free programs 37

38 Implementation: BitSyn For BitStream programs, using Z3 similar to Jha et al.[icse 10] and Gulwani et al.[pldi 11] Example program: function check_if_power_of_2(int32 x) { var o = add(x, 1) return bitwise_and(x, o) } synthesized, short loop-free programs Question: how well does our synthesizer discover noise? (in programs from prior work) 38

39 Implementation: BitSyn For BitStream programs, using Z3 similar to Jha et al.[icse 10] and Gulwani et al.[pldi 11] Example program: function check_if_power_of_2(int32 x) { var o = add(x, 1) return bitwise_and(x, o) } synthesized, short loop-free programs Question: how well does our synthesizer discover noise? (in programs from prior work) 39

40 Implementation: BitSyn For BitStream programs, using Z3 similar to Jha et al.[icse 10] and Gulwani et al.[pldi 11] best area to be in. empirically pick λ here Example program: function check_if_power_of_2(int32 x) { var o = add(x, 1) return bitwise_and(x, o) } synthesized, short loop-free programs Question: how well does our synthesizer discover noise? (in programs from prior work) 40

41 So far handling noise Problem statement and regularization Synthesis procedure using SMT Presented one synthesizer Handling noise enables us to solve new classes of problems beyond normal synthesis 41

42 Contributions New probabilistic models Handling noise Input/output examples 1. synthesize p 2. use probabilistic model parametrized with p Handling large datasets incorrect examples Representative dataset sampler Program generator 42

43 Contributions New probabilistic models Handling noise Input/output examples 1. synthesize p 2. use probabilistic model parametrized with p Handling large datasets incorrect examples Representative dataset sampler Program generator 43

44 Fundamental problem Large number of examples: p best = arg min cost(d, p) p P 44

45 Fundamental problem Large number of examples: p best = arg min cost(d, p) p P D Millions of input/output examples 45

46 Fundamental problem Large number of examples: p best = arg min cost(d, p) p P computing cost(d, p) O( D ) D Millions of input/output examples 46

47 Fundamental problem Large number of examples: p best = arg min cost(d, p) p P computing cost(d, p) O( D ) D Synthesis: practically intractable Millions of input/output examples 47

48 Fundamental problem Large number of examples: p best = arg min cost(d, p) p P computing cost(d, p) O( D ) D Synthesis: practically intractable Millions of input/output examples Key idea: iterative synthesis on fraction of examples 48

49 Our solution: two components Synthesizer for small number of examples Program generator p best = arg min cost(d, p) p P given dataset d, finds best program 49

50 Our solution: two components Synthesizer for small number of examples Program generator p best = arg min cost(d, p) p P given dataset d, finds best program Dataset sampler Picks dataset d D We introduce representative dataset sampler Generalize a user providing input/output examples 50

51 In a loop Program generator Representative dataset sampler 51

52 In a loop Program generator Representative dataset sampler Start with a small random sample d D Iteratively generate programs and samples. 52

53 In a loop Program generator Representative dataset sampler Start with a small random sample d D Iteratively generate programs and samples. Program generator p 1 53

54 In a loop Program generator Representative dataset sampler Start with a small random sample d D Iteratively generate programs and samples. Program generator p 1 d Representative dataset sampler 54

55 In a loop Program generator Representative dataset sampler Start with a small random sample d D Iteratively generate programs and samples. Program generator p 1 d Representative dataset sampler Program generator p 1, p 2 55

56 In a loop Program generator Representative dataset sampler Start with a small random sample d D Iteratively generate programs and samples. Program generator p 1 d Representative dataset sampler Program generator p 1, p 2 Representative dataset sampler 56

57 In a loop Program generator Representative dataset sampler Start with a small random sample d D Iteratively generate programs and samples. Program generator p 1 d Representative dataset sampler Program generator p 1, p 2 Representative dataset sampler p best 57

58 In a loop Program generator Representative dataset sampler Start with a small random sample d D Iteratively generate programs and samples. Program generator p 1 d Representative dataset sampler Program generator p 1, p 2 Algorithm generalizes synthesis by examples techniques Representative dataset sampler p best 58

59 Representative dataset sampler Idea: pick a small dataset d for which a set of already generated programs p 1,...,p n behave like on the full dataset d = arg min d D max i 1..n cost(d, p i ) - cost(d, p i ) 59

60 Representative dataset sampler Idea: pick a small dataset d for which a set of already generated programs p 1,...,p n behave like on the full dataset d = arg min d D max i 1..n cost(d, p i ) - cost(d, p i ) Costs on small dataset d p 1 p 2 60

61 Representative dataset sampler Idea: pick a small dataset d for which a set of already generated programs p 1,...,p n behave like on the full dataset d = arg min d D max i 1..n cost(d, p i ) - cost(d, p i ) Costs on small dataset d Costs on full dataset D p 1 p 2 p 1 p 2 61

62 Representative dataset sampler Idea: pick a small dataset d for which a set of already generated programs p 1,...,p n behave like on the full dataset d = arg min d D max i 1..n cost(d, p i ) - cost(d, p i ) Costs on small dataset d Costs on full dataset D p 1 p 2 p 1 p 2 62

63 Representative dataset sampler Idea: pick a small dataset d for which a set of already generated programs p 1,...,p n behave like on the full dataset d = arg min d D max i 1..n cost(d, p i ) - cost(d, p i ) Costs on small dataset d Costs on full dataset D p 1 p 2 p 1 p 2 63

64 Representative dataset sampler Idea: pick a small dataset d for which a set of already generated programs p 1,...,p n behave like on the full dataset d = arg min d D max i 1..n cost(d, p i ) - cost(d, p i ) Costs on small dataset d Costs on full dataset D p 1 p 2 p 1 p 2 Theorem: this sampler shrinks the candidate program search space In evaluation: significant speedup of synthesis 64

65 So far... handling large datasets Iterative combination of synthesis and sampling New way to perform approximate empirical risk minimization Guarantees (in the paper) Representative dataset sampler Program generator 65

66 Contributions New probabilistic models Handling noise Input/output examples 1. synthesize p 2. use probabilistic model parametrized with p Handling large datasets incorrect examples Representative dataset sampler Program generator 66

67 Contributions New probabilistic models Handling noise Input/output examples 1. synthesize p 2. use probabilistic model parametrized with p Handling large datasets incorrect examples Representative dataset sampler Program generator 67

68 Statistical programming tools A new breed of tools: Learn from large existing codebases (e.g. Big Code) to make predictions about programs 68

69 Statistical programming tools A new breed of tools: Learn from large existing codebases (e.g. Big Code) to make predictions about programs 1. Train machine learning model 69

70 Statistical programming tools A new breed of tools: Learn from large existing codebases (e.g. Big Code) to make predictions about programs 1. Train machine learning model 2. Make predictions with model 70

71 Statistical programming tools A new breed of tools: Learn from large existing codebases (e.g. Big Code) to make predictions about programs 1. Train machine learning model 2. Make predictions with model hard-coded model low precision 71

72 Existing machine learning models Essentially remember mapping from context in training data to prediction (with probabilities) 72

73 Existing machine learning models Essentially remember mapping from context in training data to prediction (with probabilities) Hindle et al.[icse 12] 73

74 Existing machine learning models Essentially remember mapping from context in training data to prediction (with probabilities) Hindle et al.[icse 12] 74

75 Existing machine learning models Essentially remember mapping from context in training data to prediction (with probabilities) Hindle et al.[icse 12] 75

76 Existing machine learning models Essentially remember mapping from context in training data to prediction (with probabilities) Hindle et al.[icse 12] Learn a mapping + name. slice Model will predict slice when it sees it after + name. This model comes from NLP 76

77 Existing machine learning models Essentially remember mapping from context in training data to prediction (with probabilities) Hindle et al.[icse 12] Learn a mapping + name. slice Raychev et al.[pldi 14] Model will predict slice when it sees it after + name. This model comes from NLP 77

78 Existing machine learning models Essentially remember mapping from context in training data to prediction (with probabilities) Hindle et al.[icse 12] Learn a mapping + name. slice Raychev et al.[pldi 14] Model will predict slice when it sees it after + name. This model comes from NLP 78

79 Existing machine learning models Essentially remember mapping from context in training data to prediction (with probabilities) Hindle et al.[icse 12] Learn a mapping + name. slice Raychev et al.[pldi 14] Model will predict slice when it sees it after + name. This model comes from NLP 79

80 Existing machine learning models Essentially remember mapping from context in training data to prediction (with probabilities) Hindle et al.[icse 12] Learn a mapping + name. slice Raychev et al.[pldi 14] Model will predict slice when it sees it after + name. This model comes from NLP 80

81 Existing machine learning models Essentially remember mapping from context in training data to prediction (with probabilities) Hindle et al.[icse 12] Learn a mapping + name. slice Model will predict slice when it sees it after + name. This model comes from NLP Raychev et al.[pldi 14] Learn a mapping charat slice Model will predict slice when it sees it after charat Relies on static analysis 81

82 Problem of existing systems Precision. They rarely predict the next statement Hindle et al.[icse 12] Learn a mapping + name. slice Model will predict slice when it sees it after + name. This model comes from NLP Raychev et al.[pldi 14] Learn a mapping charat slice Model will predict slice when it sees it after charat Relies on static analysis 82

83 Problem of existing systems Precision. They rarely predict the next statement Hindle et al.[icse 12] Learn a mapping Very low precision + name. slice Model will predict slice when it sees it after + name. This model comes from NLP Raychev et al.[pldi 14] Learn a mapping charat slice Model will predict slice when it sees it after charat Relies on static analysis 83

84 Problem of existing systems Precision. They rarely predict the next statement Hindle et al.[icse 12] Learn a mapping Very low precision + name. slice Model will predict slice when it sees it after + name. This model comes from NLP Raychev et al.[pldi 14] Learn a mapping Low precision for JavaScript charat slice Model will predict slice when it sees it after charat Relies on static analysis 84

85 Problem of existing systems Precision. They rarely predict the next statement Hindle et al.[icse 12] Learn a mapping Very low precision Raychev et al.[pldi 14] + name. slice Model will predict slice when it sees it after + name. Core problem: This model comes from NLP Existing machine learning models are limited and not Learn expressive a mapping enough Low precision for JavaScript charat slice Model will predict slice when it sees it after charat Relies on static analysis 85

86 Key idea: second-order learning Learn a program that parametrizes a probabilistic model that makes predictions. 86

87 Key idea: second-order learning Learn a program that parametrizes a probabilistic model that makes predictions. 1. Synthesize program describing a model 87

88 Key idea: second-order learning Learn a program that parametrizes a probabilistic model that makes predictions. 2. Train model i.e. learn the mapping 1. Synthesize program describing a model 88

89 Key idea: second-order learning Learn a program that parametrizes a probabilistic model that makes predictions. 2. Train model 3. Make predictions with this model i.e. learn the mapping 1. Synthesize program describing a model 89

90 Key idea: second-order learning Learn a program that parametrizes a probabilistic model that makes predictions. 2. Train model 3. Make predictions with this model i.e. learn the mapping 1. Synthesize hard-coded programs program describing a model prior models are described by simple Our approach: learn a better program 90

91 Training and evaluation Training example: slice input output 91

92 Training and evaluation Training example: Compute context with program p slice input output 92

93 Training and evaluation Training example: Compute context with program p slice input Learn a mapping touppercase output slice 93

94 Training and evaluation Training example: Compute context with program p slice input Evaluation example: Learn a mapping touppercase output slice 94

95 Training and evaluation Training example: Compute context with program p slice input Evaluation example: Compute context with program p Learn a mapping touppercase output slice 95

96 Training and evaluation Training example: Compute context with program p slice input Learn a mapping touppercase output slice Evaluation example: Compute context with program p predict completion slice 96

97 Training and evaluation Training example: Compute context with program p slice input Learn a mapping touppercase output slice Evaluation example: Compute context with program p predict completion slice 97

98 Observation Synthesis of probabilistic model can be done with the same optimization problem as before! evaluation data: input/output examples Our problem formulation: regularization constant p best = arg min errors(d, p) + λr(p) p P regularizer penalizes long programs 98

99 Observation Synthesis of probabilistic model can be done with the same optimization problem as before! evaluation data: input/output examples cost(d, p) Our problem formulation: regularization constant p best = arg min errors(d, p) + λr(p) p P regularizer penalizes long programs 99

100 So far... Handling noise Synthesizing a model Representative dataset sampler Techniques are generally applicable to program synthesis Next, application for Big Code called DeepSyn 100

101 DeepSyn: Training Trained on JavaScript files from GitHub Program synthesizer D Representative dataset sampler Program generator 101

102 DeepSyn: Training Trained on JavaScript files from GitHub Program synthesizer D Representative dataset sampler Program generator D p Train model on full data and best program p 102

103 DeepSyn: Evaluation evaluation files (not used in training or synthesis) API completion task 103

104 DeepSyn: Evaluation evaluation files (not used in training or synthesis) API completion task Conditioning program p Accuracy Last two tokens, Hindle et al.[icse 12] 22.2% Last two APIs per object, Raychev et al.[pldi 14] 30.4% This work Program synthesis with noise 46.3% Program synthesis with noise + dataset sampler 50.4% 104

105 DeepSyn: Evaluation evaluation files (not used in training or synthesis) API completion task Conditioning program p Accuracy Last two tokens, Hindle et al.[icse 12] 22.2% Last two APIs per object, Raychev et al.[pldi 14] 30.4% This work Program synthesis with noise 46.3% Program synthesis with noise + dataset sampler 50.4% We can explain best program. It looks at API preceding completion position and at tokens prior to these APIs. 105

106 Q&A Handling noise Input/output examples Synthesis of probabilistic models Second-order learning 1. synthesize p 2. use probabilistic model parametrized with p Handling large datasets incorrect examples Extending synthesizers to handle noise Representative dataset sampler Program generator Scalability 106

107 Q&A Handling noise Input/output examples Synthesis of probabilistic models Second-order learning 1. synthesize p 2. use probabilistic model parametrized with p Bridges gap between ML and PL Advances both areas Handling large datasets incorrect examples Extending synthesizers to handle noise Representative dataset sampler Program generator Scalability 107

108 What did we synthesize? Left PrevActor WriteAction WriteValue PrevActor WriteAction PrevLeaf WriteValue PrevLeaf WriteValue 108

Learning a Static Analyzer from Data

Learning a Static Analyzer from Data Learning a Static Analyzer from Data Pavol Bielik, Veselin Raychev, and Martin Vechev Department of Computer Science, ETH Zürich, Switzerland {pavol.bielik, veselin.raychev, martin.vechev}@inf.ethz.ch

More information

Programmable Networks with Synthesis

Programmable Networks with Synthesis Programmable Networks with Synthesis Ahmed ElHassany Petar Tsankov Laurent Vanbever Martin Vechev Network Misconfigurations are Common What Example Makes Network Configuration Hard? Low-level, local router

More information

Synthesis of Synchronization using Uninterpreted Functions

Synthesis of Synchronization using Uninterpreted Functions Synthesis of Synchronization using Uninterpreted Functions* October 22, 2014 Roderick Bloem, Georg Hofferek, Bettina Könighofer, Robert Könighofer, Simon Außerlechner, and Raphael Spörk * This work was

More information

COMP 551 Applied Machine Learning Lecture 16: Deep Learning

COMP 551 Applied Machine Learning Lecture 16: Deep Learning COMP 551 Applied Machine Learning Lecture 16: Deep Learning Instructor: Ryan Lowe (ryan.lowe@cs.mcgill.ca) Slides mostly by: Class web page: www.cs.mcgill.ca/~hvanho2/comp551 Unless otherwise noted, all

More information

CPSC 340: Machine Learning and Data Mining. Probabilistic Classification Fall 2017

CPSC 340: Machine Learning and Data Mining. Probabilistic Classification Fall 2017 CPSC 340: Machine Learning and Data Mining Probabilistic Classification Fall 2017 Admin Assignment 0 is due tonight: you should be almost done. 1 late day to hand it in Monday, 2 late days for Wednesday.

More information

Nonparametric Methods Recap

Nonparametric Methods Recap Nonparametric Methods Recap Aarti Singh Machine Learning 10-701/15-781 Oct 4, 2010 Nonparametric Methods Kernel Density estimate (also Histogram) Weighted frequency Classification - K-NN Classifier Majority

More information

More Data, Less Work: Runtime as a decreasing function of data set size. Nati Srebro. Toyota Technological Institute Chicago

More Data, Less Work: Runtime as a decreasing function of data set size. Nati Srebro. Toyota Technological Institute Chicago More Data, Less Work: Runtime as a decreasing function of data set size Nati Srebro Toyota Technological Institute Chicago Outline we are here SVM speculations, other problems Clustering wild speculations,

More information

On the Importance of Common Sense in Program Synthesis

On the Importance of Common Sense in Program Synthesis On the Importance of Common Sense in Program Synthesis Hila Peleg, Technion The research leading to these results has received funding from the European Union's - Seventh Framework Programme (FP7) under

More information

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS Mathias Preiner, Aina Niemetz and Armin Biere Johannes Kepler University Stanford University SMT Workshop July 22-23, 2017 Heidelberg, Germany Introduction Counterexample-Guided

More information

Discriminative Training for Phrase-Based Machine Translation

Discriminative Training for Phrase-Based Machine Translation Discriminative Training for Phrase-Based Machine Translation Abhishek Arun 19 April 2007 Overview 1 Evolution from generative to discriminative models Discriminative training Model Learning schemes Featured

More information

4.1 Review - the DPLL procedure

4.1 Review - the DPLL procedure Applied Logic Lecture 4: Efficient SAT solving CS 4860 Spring 2009 Thursday, January 29, 2009 The main purpose of these notes is to help me organize the material that I used to teach today s lecture. They

More information

VS 3 : SMT Solvers for Program Verification

VS 3 : SMT Solvers for Program Verification VS 3 : SMT Solvers for Program Verification Saurabh Srivastava 1,, Sumit Gulwani 2, and Jeffrey S. Foster 1 1 University of Maryland, College Park, {saurabhs,jfoster}@cs.umd.edu 2 Microsoft Research, Redmond,

More information

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS Mathias Preiner?y, Aina Niemetz?y and Armin Biere?? Johannes Kepler University y Stanford University SMT Workshop July 22-23, 2017 Heidelberg, Germany Introduction

More information

Boolean Functions (Formulas) and Propositional Logic

Boolean Functions (Formulas) and Propositional Logic EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part I: Basics Sanjit A. Seshia EECS, UC Berkeley Boolean Functions (Formulas) and Propositional Logic Variables: x 1, x 2, x 3,, x

More information

Recovering Clear, Natural Identifiers from Obfuscated (JavaScript) Names

Recovering Clear, Natural Identifiers from Obfuscated (JavaScript) Names Bogdan Vasilescu (CMU, ISR) @b_vasilescu Casey Casalnuovo (UCDavis) Prem Devanbu (UCDavis) @devanbu Recovering Clear, Natural Identifiers from Obfuscated (JavaScript) Names @b_vasilescu Today var geom2d

More information

ECS289: Scalable Machine Learning

ECS289: Scalable Machine Learning ECS289: Scalable Machine Learning Cho-Jui Hsieh UC Davis Sept 22, 2016 Course Information Website: http://www.stat.ucdavis.edu/~chohsieh/teaching/ ECS289G_Fall2016/main.html My office: Mathematical Sciences

More information

Big Code: last 5 ETH

Big Code: last 5 ETH http://plml.ethz.ch Big Code: last 5 years @ ETH http://www.inferui.com/ elem.notify({ position: top, autohide: false,? }); MemberExpression Identifier elem Property notify CallExpression Property position

More information

LEARNING TO INSTANTIATE QUANTIFIERS

LEARNING TO INSTANTIATE QUANTIFIERS LEARNING TO INSTANTIATE QUANTIFIERS Armin Biere 1 joint work with Mathias Preiner 1,2, Aina Niemetz 1,2 TACAS 17, SMT 17, PhD Thesis Mathias Preiner in 2017 1 Johannes Kepler University Linz 2 Stanford

More information

Programs that write themselves: Program synthesis for the masses. Yu Feng UT Austin

Programs that write themselves: Program synthesis for the masses. Yu Feng UT Austin Programs that write themselves: Program synthesis for the masses Yu Feng UT Austin New platforms impose demand for programming 2 New platforms impose demand for programming 2 New platforms impose demand

More information

Automated Fixing of Programs with Contracts

Automated Fixing of Programs with Contracts Automated Fixing of Programs with Contracts Yi Wei, Yu Pei, Carlo A. Furia, Lucas S. Silva, Stefan Buchholz, Bertrand Meyer and Andreas Zeller Chair of Software Engineering, ETH Zürich Software Engineering

More information

Program Synthesis. SWE 795, Spring 2017 Software Engineering Environments

Program Synthesis. SWE 795, Spring 2017 Software Engineering Environments Program Synthesis SWE 795, Spring 2017 Software Engineering Environments Today HW3 is due next week in class! Part 1 (Lecture)(~50 mins) Break! Part 2 (Discussion)(~60 mins) Discussion of readings Part

More information

PROBLEM 4

PROBLEM 4 PROBLEM 2 PROBLEM 4 PROBLEM 5 PROBLEM 6 PROBLEM 7 PROBLEM 8 PROBLEM 9 PROBLEM 10 PROBLEM 11 PROBLEM 12 PROBLEM 13 PROBLEM 14 PROBLEM 16 PROBLEM 17 PROBLEM 22 PROBLEM 23 PROBLEM 24 PROBLEM 25

More information

Automated tutoring of massive open online courses

Automated tutoring of massive open online courses Research Collection Master Thesis Automated tutoring of massive open online courses Author(s): Zeller, Christine Publication Date: 2014 Permanent Link: https://doi.org/10.3929/ethz-a-010255509 Rights /

More information

Bounded Model Checking with Parametric Data Structures

Bounded Model Checking with Parametric Data Structures Bounded Model Checking with Marc Herbstritt (joint work with Erika Ábrahám, Bernd Becker, Martin Steffen) www.avacs.org August 15 2006 4th International Workshop on Bounded Model Checking Context Automated

More information

EECS 219C: Formal Methods Syntax-Guided Synthesis (selected/adapted slides from FMCAD 13 tutorial by R. Alur) Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Formal Methods Syntax-Guided Synthesis (selected/adapted slides from FMCAD 13 tutorial by R. Alur) Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Formal Methods Syntax-Guided Synthesis (selected/adapted slides from FMCAD 13 tutorial by R. Alur) Sanjit A. Seshia EECS, UC Berkeley Solving SyGuS Is SyGuS same as solving SMT formulas with

More information

Applying Machine Learning to Real Problems: Why is it Difficult? How Research Can Help?

Applying Machine Learning to Real Problems: Why is it Difficult? How Research Can Help? Applying Machine Learning to Real Problems: Why is it Difficult? How Research Can Help? Olivier Bousquet, Google, Zürich, obousquet@google.com June 4th, 2007 Outline 1 Introduction 2 Features 3 Minimax

More information

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS Mathias Preiner, Aina Niemetz and Armin Biere Institute for Formal Models and Verification (FMV) Johannes Kepler University, Linz, Austria http://fmv.jku.at/ TACAS

More information

NetComplete: Practical Network-Wide Configuration Synthesis with Autocompletion. Ahmed El-Hassany Petar Tsankov Laurent Vanbever Martin Vechev

NetComplete: Practical Network-Wide Configuration Synthesis with Autocompletion. Ahmed El-Hassany Petar Tsankov Laurent Vanbever Martin Vechev NetComplete: Practical Network-Wide Configuration Synthesis with Autocompletion Ahmed El-Hassany Petar Tsankov Laurent Vanbever Martin Vechev I shouldn t be the one giving this talk Third year PhD student

More information

FastText. Jon Koss, Abhishek Jindal

FastText. Jon Koss, Abhishek Jindal FastText Jon Koss, Abhishek Jindal FastText FastText is on par with state-of-the-art deep learning classifiers in terms of accuracy But it is way faster: FastText can train on more than one billion words

More information

A Study of MatchPyramid Models on Ad hoc Retrieval

A Study of MatchPyramid Models on Ad hoc Retrieval A Study of MatchPyramid Models on Ad hoc Retrieval Liang Pang, Yanyan Lan, Jiafeng Guo, Jun Xu, Xueqi Cheng Institute of Computing Technology, Chinese Academy of Sciences Text Matching Many text based

More information

Probabilistic Dialogue Models with Prior Domain Knowledge

Probabilistic Dialogue Models with Prior Domain Knowledge Probabilistic Dialogue Models with Prior Domain Knowledge Pierre Lison Language Technology Group University of Oslo July 6, 2012 SIGDIAL Introduction The use of statistical models is getting increasingly

More information

Markov Random Fields and Gibbs Sampling for Image Denoising

Markov Random Fields and Gibbs Sampling for Image Denoising Markov Random Fields and Gibbs Sampling for Image Denoising Chang Yue Electrical Engineering Stanford University changyue@stanfoed.edu Abstract This project applies Gibbs Sampling based on different Markov

More information

Model selection and validation 1: Cross-validation

Model selection and validation 1: Cross-validation Model selection and validation 1: Cross-validation Ryan Tibshirani Data Mining: 36-462/36-662 March 26 2013 Optional reading: ISL 2.2, 5.1, ESL 7.4, 7.10 1 Reminder: modern regression techniques Over the

More information

Don t give up on mocking

Don t give up on mocking Don t give up on mocking - Why do people give up? - Mocking: the big step from classic way of testing - Let s take a step back and don t give up! by Szczepan Faber (a certified mock tamer) Interaction

More information

Cover Page. The handle holds various files of this Leiden University dissertation.

Cover Page. The handle   holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/22055 holds various files of this Leiden University dissertation. Author: Koch, Patrick Title: Efficient tuning in supervised machine learning Issue Date:

More information

Approximation-stability and proxy objectives

Approximation-stability and proxy objectives Harnessing implicit assumptions in problem formulations: Approximation-stability and proxy objectives Avrim Blum Carnegie Mellon University Based on work joint with Pranjal Awasthi, Nina Balcan, Anupam

More information

SVM Optimization: An Inverse Dependence on Data Set Size

SVM Optimization: An Inverse Dependence on Data Set Size SVM Optimization: An Inverse Dependence on Data Set Size Shai Shalev-Shwartz Nati Srebro Toyota Technological Institute Chicago (a philanthropically endowed academic computer science institute dedicated

More information

ADAPTIVE GRAPH CUTS WITH TISSUE PRIORS FOR BRAIN MRI SEGMENTATION

ADAPTIVE GRAPH CUTS WITH TISSUE PRIORS FOR BRAIN MRI SEGMENTATION ADAPTIVE GRAPH CUTS WITH TISSUE PRIORS FOR BRAIN MRI SEGMENTATION Abstract: MIP Project Report Spring 2013 Gaurav Mittal 201232644 This is a detailed report about the course project, which was to implement

More information

CloudSwyft Learning-as-a-Service Course Catalog 2018 (Individual LaaS Course Catalog List)

CloudSwyft Learning-as-a-Service Course Catalog 2018 (Individual LaaS Course Catalog List) CloudSwyft Learning-as-a-Service Course Catalog 2018 (Individual LaaS Course Catalog List) Microsoft Solution Latest Sl Area Refresh No. Course ID Run ID Course Name Mapping Date 1 AZURE202x 2 Microsoft

More information

Overfitting. Machine Learning CSE546 Carlos Guestrin University of Washington. October 2, Bias-Variance Tradeoff

Overfitting. Machine Learning CSE546 Carlos Guestrin University of Washington. October 2, Bias-Variance Tradeoff Overfitting Machine Learning CSE546 Carlos Guestrin University of Washington October 2, 2013 1 Bias-Variance Tradeoff Choice of hypothesis class introduces learning bias More complex class less bias More

More information

DS Machine Learning and Data Mining I. Alina Oprea Associate Professor, CCIS Northeastern University

DS Machine Learning and Data Mining I. Alina Oprea Associate Professor, CCIS Northeastern University DS 4400 Machine Learning and Data Mining I Alina Oprea Associate Professor, CCIS Northeastern University September 20 2018 Review Solution for multiple linear regression can be computed in closed form

More information

Network Verification Solvers, Symmetries, Surgeries. Nikolaj Bjørner

Network Verification Solvers, Symmetries, Surgeries. Nikolaj Bjørner Network Verification Solvers, Symmetries, Surgeries Nikolaj Bjørner NetPL, August, 2016 Networking needs: Configuration Sanity/Synthesis, Programming, Provisioning Network Design Automation Z3 Z3 advances:

More information

Dynamic Routing Between Capsules

Dynamic Routing Between Capsules Report Explainable Machine Learning Dynamic Routing Between Capsules Author: Michael Dorkenwald Supervisor: Dr. Ullrich Köthe 28. Juni 2018 Inhaltsverzeichnis 1 Introduction 2 2 Motivation 2 3 CapusleNet

More information

User Manual. Version 1.0. Submitted in partial fulfillment of the Masters of Software Engineering degree.

User Manual. Version 1.0. Submitted in partial fulfillment of the Masters of Software Engineering degree. User Manual For KDD-Research Entity Search Tool (KREST) Version 1.0 Submitted in partial fulfillment of the Masters of Software Engineering degree. Eric Davis CIS 895 MSE Project Department of Computing

More information

Learning a SAT Solver from Single-

Learning a SAT Solver from Single- Learning a SAT Solver from Single- Bit Supervision Daniel Selsman, Matthew Lamm, Benedikt Bunz, Percy Liang, Leonardo de Moura and David L. Dill Presented By Aditya Sanghi Overview NeuroSAT Background:

More information

Synthesizing Benchmarks for Predictive Modeling.

Synthesizing Benchmarks for Predictive Modeling. Synthesizing Benchmarks for Predictive Modeling http://chriscummins.cc/cgo17 Chris Cummins University of Edinburgh Pavlos Petoumenos University of Edinburgh Zheng Wang Lancaster University Hugh Leather

More information

Variable Selection 6.783, Biomedical Decision Support

Variable Selection 6.783, Biomedical Decision Support 6.783, Biomedical Decision Support (lrosasco@mit.edu) Department of Brain and Cognitive Science- MIT November 2, 2009 About this class Why selecting variables Approaches to variable selection Sparsity-based

More information

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley Project Proposals Due Friday, February 13 on bcourses Will discuss project topics on Monday Instructions

More information

Minimum Satisfying Assignments for SMT. Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U.

Minimum Satisfying Assignments for SMT. Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U. Minimum Satisfying Assignments for SMT Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U. 1 / 20 Satisfiability Modulo Theories (SMT) Today, SMT solvers

More information

Automatically Synthesizing SQL Queries from Input-Output Examples

Automatically Synthesizing SQL Queries from Input-Output Examples Automatically Synthesizing SQL Queries from Input-Output Examples Sai Zhang University of Washington Joint work with: Yuyin Sun Goal: making it easier for non-expert users to write correct SQL queries

More information

On Reasoning about Finite Sets in Software Checking

On Reasoning about Finite Sets in Software Checking On Reasoning about Finite Sets in Software Model Checking Pavel Shved Institute for System Programming, RAS SYRCoSE 2 June 2010 Static Program Verification Static Verification checking programs against

More information

CSE 573: Artificial Intelligence Autumn 2010

CSE 573: Artificial Intelligence Autumn 2010 CSE 573: Artificial Intelligence Autumn 2010 Lecture 16: Machine Learning Topics 12/7/2010 Luke Zettlemoyer Most slides over the course adapted from Dan Klein. 1 Announcements Syllabus revised Machine

More information

Machine Learning (CSE 446): Concepts & the i.i.d. Supervised Learning Paradigm

Machine Learning (CSE 446): Concepts & the i.i.d. Supervised Learning Paradigm Machine Learning (CSE 446): Concepts & the i.i.d. Supervised Learning Paradigm Sham M Kakade c 2018 University of Washington cse446-staff@cs.washington.edu 1 / 17 Review 1 / 17 Decision Tree: Making a

More information

CSCI 5417 Information Retrieval Systems. Jim Martin!

CSCI 5417 Information Retrieval Systems. Jim Martin! CSCI 5417 Information Retrieval Systems Jim Martin! Lecture 7 9/13/2011 Today Review Efficient scoring schemes Approximate scoring Evaluating IR systems 1 Normal Cosine Scoring Speedups... Compute the

More information

Synthesis-Aided Compiler for Low-Power Spatial Architectures

Synthesis-Aided Compiler for Low-Power Spatial Architectures Synthesis-Aided Compiler for Low-Power Spatial Architectures Phitchaya Mangpo Phothilimthana, Tikhon Jelvis, Rohin Shah, Nishant Totla, Sarah Chasins, and Ras Bodik 2 unusual ISA small memory narrow bitwidth

More information

Crash Course in Applied PL

Crash Course in Applied PL Crash Course in Applied PL (with applications to Networks) Software Reliability Lab Department of Computer Science ETH Zurich Overview of Applied PL techniques Static Analysis Program Synthesis ibgp, OSPF,

More information

Report on the paper Summarization-based Mining Bipartite Graphs

Report on the paper Summarization-based Mining Bipartite Graphs Report on the paper Summarization-based Mining Bipartite Graphs Annika Glauser ETH Zuerich Spring 2015 Extract from the paper [1]: Introduction The paper Summarization-based Mining Bipartite Graphs introduces

More information

NEURAL CODE COMPLETION

NEURAL CODE COMPLETION NEURAL CODE COMPLETION Chang Liu, Xin Wang, Richard Shin, Joseph E. Gonzalez, Dawn Song University of California, Berkeley ABSTRACT Code completion, an essential part of modern software development, yet

More information

Abstraction techniques for Floating-Point Arithmetic

Abstraction techniques for Floating-Point Arithmetic Abstraction techniques for Floating-Point Arithmetic Angelo Brillout 1, Daniel Kroening 2 and Thomas Wahl 2 1 ETH Zurich, 2 Oxford University ETH Zürich Floating-Point Arithmetic (FPA) Used for embedded

More information

Neural Networks for Machine Learning. Lecture 15a From Principal Components Analysis to Autoencoders

Neural Networks for Machine Learning. Lecture 15a From Principal Components Analysis to Autoencoders Neural Networks for Machine Learning Lecture 15a From Principal Components Analysis to Autoencoders Geoffrey Hinton Nitish Srivastava, Kevin Swersky Tijmen Tieleman Abdel-rahman Mohamed Principal Components

More information

A BFS-BASED SIMILAR CONFERENCE RETRIEVAL FRAMEWORK

A BFS-BASED SIMILAR CONFERENCE RETRIEVAL FRAMEWORK A BFS-BASED SIMILAR CONFERENCE RETRIEVAL FRAMEWORK Qing Guo 1, 2 1 Nanyang Technological University, Singapore 2 SAP Innovation Center Network,Singapore ABSTRACT Literature review is part of scientific

More information

Voting Machines and Automotive Software: Explorations with SMT at Scale

Voting Machines and Automotive Software: Explorations with SMT at Scale Voting Machines and Automotive Software: Explorations with SMT at Scale Sanjit A. Seshia EECS Department UC Berkeley Joint work with: Bryan Brady, Randy Bryant, Susmit Jha, Jon Kotker, John O Leary, Alexander

More information

Using Machine Learning to Optimize Storage Systems

Using Machine Learning to Optimize Storage Systems Using Machine Learning to Optimize Storage Systems Dr. Kiran Gunnam 1 Outline 1. Overview 2. Building Flash Models using Logistic Regression. 3. Storage Object classification 4. Storage Allocation recommendation

More information

Using Deep Learning to Generate Human-like Code

Using Deep Learning to Generate Human-like Code Using Deep Learning to Generate Human-like Code Synthesizing Benchmarks for Predictive Modeling Chris Cummins Zheng Wang Pavlos Petoumenos Hugh Leather achine learning for compilers y = f(x) Optimisations

More information

Machine Learning. Decision Trees. Manfred Huber

Machine Learning. Decision Trees. Manfred Huber Machine Learning Decision Trees Manfred Huber 2015 1 Decision Trees Classifiers covered so far have been Non-parametric (KNN) Probabilistic with independence (Naïve Bayes) Linear in features (Logistic

More information

n HW7 due in about ten days n HW8 will be optional n No CLASS or office hours on Tuesday n I will catch up on grading next week!

n HW7 due in about ten days n HW8 will be optional n No CLASS or office hours on Tuesday n I will catch up on grading next week! Announcements SMT Solvers, Symbolic Execution n HW7 due in about ten days n HW8 will be optional n No CLASS or office hours on Tuesday n I will catch up on grading next week! n Presentations n Some of

More information

Akarsh Pokkunuru EECS Department Contractive Auto-Encoders: Explicit Invariance During Feature Extraction

Akarsh Pokkunuru EECS Department Contractive Auto-Encoders: Explicit Invariance During Feature Extraction Akarsh Pokkunuru EECS Department 03-16-2017 Contractive Auto-Encoders: Explicit Invariance During Feature Extraction 1 AGENDA Introduction to Auto-encoders Types of Auto-encoders Analysis of different

More information

Instructor: Dr. Mehmet Aktaş. Mining of Massive Datasets Jure Leskovec, Anand Rajaraman, Jeff Ullman Stanford University

Instructor: Dr. Mehmet Aktaş. Mining of Massive Datasets Jure Leskovec, Anand Rajaraman, Jeff Ullman Stanford University Instructor: Dr. Mehmet Aktaş Mining of Massive Datasets Jure Leskovec, Anand Rajaraman, Jeff Ullman Stanford University J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

More information

NP Completeness. Andreas Klappenecker [partially based on slides by Jennifer Welch]

NP Completeness. Andreas Klappenecker [partially based on slides by Jennifer Welch] NP Completeness Andreas Klappenecker [partially based on slides by Jennifer Welch] Overview We already know the following examples of NPC problems: SAT 3SAT We are going to show that the following are

More information

Program Synthesis using Conflict-Driven Learning

Program Synthesis using Conflict-Driven Learning Program Synthesis using Conflict-Driven Learning Abstract Yu Feng University of Texas at Austin U.S.A yufeng@cs.utexas.edu Osbert Bastani Massachusetts Institute of Technology U.S.A obastani@csail.mit.edu

More information

Powering Knowledge Discovery. Insights from big data with Linguamatics I2E

Powering Knowledge Discovery. Insights from big data with Linguamatics I2E Powering Knowledge Discovery Insights from big data with Linguamatics I2E Gain actionable insights from unstructured data The world now generates an overwhelming amount of data, most of it written in natural

More information

ConfigSynth: A Formal Framework for Network Security Design Synthesis

ConfigSynth: A Formal Framework for Network Security Design Synthesis ConfigSynth: A Formal Framework for Network Security Design Synthesis Mohammad Ashiqur Rahman and Ehab Al-Shaer CyberDNA Research Center, UNC Charlotte Motivation Complexity of Security Configuration is

More information

Robust Moving Least-squares Fitting with Sharp Features

Robust Moving Least-squares Fitting with Sharp Features Survey of Methods in Computer Graphics: Robust Moving Least-squares Fitting with Sharp Features S. Fleishman, D. Cohen-Or, C. T. Silva SIGGRAPH 2005. Method Pipeline Input: Point to project on the surface.

More information

Efficient SAT-based Boolean Matching for FPGA Technology Mapping

Efficient SAT-based Boolean Matching for FPGA Technology Mapping Efficient SAT-based Boolean Matching for FPGA Technology Mapping Sean Safarpour, Andreas Veneris Department of Electrical and Computer Engineering University of Toronto Toronto, ON, Canada {sean, veneris}@eecg.toronto.edu

More information

Bayesian Methods in Vision: MAP Estimation, MRFs, Optimization

Bayesian Methods in Vision: MAP Estimation, MRFs, Optimization Bayesian Methods in Vision: MAP Estimation, MRFs, Optimization CS 650: Computer Vision Bryan S. Morse Optimization Approaches to Vision / Image Processing Recurring theme: Cast vision problem as an optimization

More information

V. Solving Integer Linear Programs

V. Solving Integer Linear Programs Optimization Methods Draft of August 26, 2005 V. Solving Integer Linear Programs Robert Fourer Department of Industrial Engineering and Management Sciences Northwestern University Evanston, Illinois 60208-3119,

More information

Generating Small Countermodels. Andrew Reynolds Intel August 30, 2012

Generating Small Countermodels. Andrew Reynolds Intel August 30, 2012 Generating Small Countermodels using SMT Andrew Reynolds Intel August 30, 2012 Acknowledgements Intel Corporation AmitGoel, Sava Krstic University of Iowa Cesare Tinelli, Francois Bobot New York University

More information

EventRacer: Finding Concurrency Errors in Event-Driven Applications. Pavol Bielik

EventRacer: Finding Concurrency Errors in Event-Driven Applications. Pavol Bielik Eventr: Finding Concurrency Errors in Event-Driven Applications Pavol Bielik Android Errors Caused by Concurrency Display article twice 1 Display wrong directory Display wrong order Web Page Errors Caused

More information

Quantifiers meet their match(ing loop): new techniques and tools for dealing with unpredictable performance in Dafny

Quantifiers meet their match(ing loop): new techniques and tools for dealing with unpredictable performance in Dafny Quantifiers meet their match(ing loop): new techniques and tools for dealing with unpredictable performance in Dafny Clément Pit-Claudel (MIT CSAIL), K Rustan M Leino (MSR) July 11, 2016 Clément Pit-Claudel

More information

LSTM for Language Translation and Image Captioning. Tel Aviv University Deep Learning Seminar Oran Gafni & Noa Yedidia

LSTM for Language Translation and Image Captioning. Tel Aviv University Deep Learning Seminar Oran Gafni & Noa Yedidia 1 LSTM for Language Translation and Image Captioning Tel Aviv University Deep Learning Seminar Oran Gafni & Noa Yedidia 2 Part I LSTM for Language Translation Motivation Background (RNNs, LSTMs) Model

More information

Autograder RISHABH SINGH, SUMIT GULWANI, ARMANDO SOLAR-LEZAMA

Autograder RISHABH SINGH, SUMIT GULWANI, ARMANDO SOLAR-LEZAMA Autograder RISHABH SINGH, SUMIT GULWANI, ARMANDO SOLAR-LEZAMA Test-cases based feedback Hard to relate failing inputs to errors Manual feedback by TAs Time consuming and error prone Feedback on Programming

More information

ExCAPE Kick off Meeting. Leads: Stéphane Lafortune and Steve Zdancewic

ExCAPE Kick off Meeting. Leads: Stéphane Lafortune and Steve Zdancewic Education and Outreach ExCAPE Kick off Meeting Monday June 4, 4:30 5:30pm Leads: Stéphane Lafortune and Steve Zdancewic Education and Outreach 2013 Summer School Programs for High SchoolStudents Students

More information

ASSIGNMENT 3. COMP-202, Fall 2014, All Sections. Due: October 24 th, 2014 (23:59)

ASSIGNMENT 3. COMP-202, Fall 2014, All Sections. Due: October 24 th, 2014 (23:59) ASSIGNMENT 3 COMP-202, Fall 2014, All Sections Due: October 24 th, 2014 (23:59) Please read the entire pdf before starting. You must do this assignment individually and, unless otherwise specified, you

More information

In this lecture we discuss the complexity of approximation problems, and show how to prove they are NP-hard.

In this lecture we discuss the complexity of approximation problems, and show how to prove they are NP-hard. In this lecture we discuss the complexity of approximation problems, and show how to prove they are NP-hard. 1 We will show how one can prove such results and then apply this technique to some approximation

More information

Statistical De-obfuscation for Android

Statistical De-obfuscation for Android www.srl.inf.ethz.ch Statistical De-obfuscation for Android Petar Tsankov, ETH Zurich DeGuard Team Benjamin Bichsel Veselin Raychev Petar Tsankov Martin Vechev Why De-obfuscate Android Applications? Android

More information

Surface Reconstruction with MLS

Surface Reconstruction with MLS Surface Reconstruction with MLS Tobias Martin CS7960, Spring 2006, Feb 23 Literature An Adaptive MLS Surface for Reconstruction with Guarantees, T. K. Dey and J. Sun A Sampling Theorem for MLS Surfaces,

More information

Optimization Methods for Machine Learning (OMML)

Optimization Methods for Machine Learning (OMML) Optimization Methods for Machine Learning (OMML) 2nd lecture Prof. L. Palagi References: 1. Bishop Pattern Recognition and Machine Learning, Springer, 2006 (Chap 1) 2. V. Cherlassky, F. Mulier - Learning

More information

ORB Education Quality Teaching Resources

ORB Education Quality Teaching Resources JavaScript is one of the programming languages that make things happen in a web page. It is a fantastic way for students to get to grips with some of the basics of programming, whilst opening the door

More information

Satisfiability Solvers

Satisfiability Solvers Satisfiability Solvers Part 1: Systematic Solvers 600.325/425 Declarative Methods - J. Eisner 1 Vars SAT solving has made some progress 100000 10000 1000 100 10 1 1960 1970 1980 1990 2000 2010 Year slide

More information

Learning to Synthesize. Yingfei Xiong, Bo Wang, Guirong Fu, Linfei Zang Peking University June 2, 2018

Learning to Synthesize. Yingfei Xiong, Bo Wang, Guirong Fu, Linfei Zang Peking University June 2, 2018 Learning to Synthesize Yingfei Xiong, Bo Wang, Guirong Fu, Linfei Zang Peking University June 2, 2018 Outline GI and L2S Components of L2S Application Conclusion Genetic Improvement GI can systematically

More information

Chapter 10. Conclusion Discussion

Chapter 10. Conclusion Discussion Chapter 10 Conclusion 10.1 Discussion Question 1: Usually a dynamic system has delays and feedback. Can OMEGA handle systems with infinite delays, and with elastic delays? OMEGA handles those systems with

More information

Network Lasso: Clustering and Optimization in Large Graphs

Network Lasso: Clustering and Optimization in Large Graphs Network Lasso: Clustering and Optimization in Large Graphs David Hallac, Jure Leskovec, Stephen Boyd Stanford University September 28, 2015 Convex optimization Convex optimization is everywhere Introduction

More information

Bayesian model ensembling using meta-trained recurrent neural networks

Bayesian model ensembling using meta-trained recurrent neural networks Bayesian model ensembling using meta-trained recurrent neural networks Luca Ambrogioni l.ambrogioni@donders.ru.nl Umut Güçlü u.guclu@donders.ru.nl Yağmur Güçlütürk y.gucluturk@donders.ru.nl Julia Berezutskaya

More information

Lab 1: Verilog Synthesis and FSMs

Lab 1: Verilog Synthesis and FSMs Lab 1: Verilog Synthesis and FSMs Contents 0 Introduction... 1 1 Prelab... 1 2 Design Details... 2 Overview... 2 ButtonParse... 3 RotaryEncoder... 3 Lab2Counter... 4 Lab2Lock... 4 3 Analysis... 6 0 Introduction

More information

Reasoning About Programs Panagiotis Manolios

Reasoning About Programs Panagiotis Manolios Reasoning About Programs Panagiotis Manolios Northeastern University March 1, 2017 Version: 101 Copyright c 2017 by Panagiotis Manolios All rights reserved. We hereby grant permission for this publication

More information

EECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Formal Methods Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley The Boolean Satisfiability Problem (SAT) Given: A Boolean formula F(x 1, x 2, x 3,, x n ) Can F evaluate to 1

More information

Synthesis for Automated Grading and Feedback EXCAPE NSF SITE VISIT AUGUST 2013

Synthesis for Automated Grading and Feedback EXCAPE NSF SITE VISIT AUGUST 2013 Synthesis for Automated Grading and Feedback EXCAPE NSF SITE VISIT AUGUST 2013 Sumit Gulwani Solar-Lezama Alur Seshia Hartmann Leverage Synthesis in Education Technology Computer aided approach to introduce

More information

Code Completion with Neural Attention and Pointer Networks

Code Completion with Neural Attention and Pointer Networks Code Completion with Neural Attention and Pointer Networks Jian Li, Yue Wang, Michael R. Lyu, Irwin King Department of Computer Science and Engineering, The Chinese University of Hong Kong, China Shenzhen

More information

A Collective, Probabilistic Approach to Schema Mapping

A Collective, Probabilistic Approach to Schema Mapping A Collective, Probabilistic Approach to Schema Mapping Angelika Kimmig, Alex Memory, Renée Miller, Lise Getoor ILP 2017 (published at ICDE 2017) 1 Context: Data Exchange & source emp id company 1 Alice

More information

Recent Advances in ANSYS Toward RDO Practices Using optislang. Wim Slagter, ANSYS Inc. Herbert Güttler, MicroConsult GmbH

Recent Advances in ANSYS Toward RDO Practices Using optislang. Wim Slagter, ANSYS Inc. Herbert Güttler, MicroConsult GmbH Recent Advances in ANSYS Toward RDO Practices Using optislang Wim Slagter, ANSYS Inc. Herbert Güttler, MicroConsult GmbH 1 Product Development Pressures Source: Engineering Simulation & HPC Usage Survey

More information