Attack Synthesis for Strings using Meta-heuristics

Size: px
Start display at page:

Download "Attack Synthesis for Strings using Meta-heuristics"

Transcription

1 Attack Synthesis for Strings using Meta-heuristics JPF Workshop 2018 Seemanta Saha*, Ismet Burak Kadron*, William Eiers*, Lucas Bang+, Tevfik Bultan* * University of California Santa Barbara + Harvey Mudd College

2 Software Side-Channel Attack 2

3 Software Side-Channel Attack input program Output 3

4 Software Side-Channel Attack Public input Secret input program Output 4

5 Software Side-Channel Attack Public input Secret input program Output observations 5

6 Software Side-Channel Attack Public input Secret input program Output (main-channel) observations (side-channel) 6

7 Timing Side-Channel Attack Public input Secret input program Output (main-channel) Distinguishable execution times (timing side-channel) 7

8 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) { Public input (l) for (int i = 0; i < h.length(); i++) { Secret input (h) if (h[i]!= l[i]) return false false/true } return true } distinguishable execution time 8

9 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) { Public input (l) for (int i = 0; i < h.length(); i++) { Secret input (h) if (h[i]!= l[i]) return false false/true } return true } distinguishable execution time Let s consider one loop iteration takes 1 millisecond 9

10 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = XXXXXXXXXX h = PATHFINDER { false } return true } Execution time = 5 milliseconds 10

11 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = MATHFINDER h = PATHFINDER { false } return true } Execution time = 5 milliseconds 11

12 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = PXXXXXXXXX h = PATHFINDER { false } return true } Execution time = 6 milliseconds 12

13 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = PAXXXXXXXX h = PATHFINDER { false } return true } Execution time = 7 milliseconds 13

14 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = PATXXXXXXX h = PATHFINDER { false } return true } Execution time = 8 milliseconds 14

15 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = PATHXXXXXX h = PATHFINDER { false } return true } Execution time = 9 milliseconds 15

16 Timing Side-channel in Password Checking Function public boolean passwordchecker(string h, String l) boolean { public passwordchecker(string h, String l) { for (int = 0;ii << h.length(); h.length(); i++)i++) { for (int i =i 0; if (h[i]!= l[i]) return false if (h[i]!= l[i]) } return true false return } l = PATHFINDER h = PATHFINDER { true } return true } Execution time = 15 milliseconds 16

17 Timing Side-channel in Password Checking Function known as segment attack vulnerability: attacker reveals the secret input segment (character) by segment (character) 17

18 Timing Side-channel in Password Checking Function known as segment attack vulnerability: attacker reveals the secret input segment (character) by segment (character) this vulnerability was present in Google KeyCzar library 18

19 Timing Side-channel in Password Checking Function known as segment attack vulnerability attacker reveals the secret input segment (character) by segment (character) this vulnerability was present in Google KeyCzar library, OpenID, etc. 19

20 Attack Synthesis Overview Static Analysis Phase Attack Synthesis Phase 20

21 Attack Synthesis Overview String Function F(h, l) Static Analysis Phase Attack Synthesis Phase 21

22 Attack Synthesis Overview String Function F(h, l) Static Analysis Phase Merged Path constraints Ψ Attack Synthesis Phase 22

23 Attack Synthesis Overview String Function F(h, l) Static Analysis Phase Merged Path constraints Ψ Attack Synthesis Phase Sequence of Attack inputs 23

24 Attack Synthesis Overview Model Counting String Function F(h, l) Static Analysis Phase Merged Path constraints Ψ Attack Synthesis Phase Sequence of Attack inputs 24

25 Attack Synthesis Overview Model Counting String Function F(h, l) Static Analysis Phase Merged Path constraints Ψ Entropy Function Attack Synthesis Phase Sequence of Attack inputs 25

26 Attack Synthesis Overview Model Counting String Function F(h, l) Static Analysis Phase Merged Path constraints Ψ Entropy Function Attack Synthesis Phase Sequence of Attack inputs Meta-heuristics 26

27 Static Analysis Phase String Function F(h,l) 27

28 Static Analysis Phase Constraints on h: length and range bound String Function F(h,l) 28

29 Static Analysis Phase Constraints on h: length and range bound String Function F(h,l) Symbolic Execution (SPF) 29

30 Static Analysis Phase Constraints on h: length and range bound String Function F(h,l) Symbolic Execution (SPF) Cost Function: number of instructions executed in byte 30

31 Static Analysis Phase Constraints on h: length and range bound String Function F(h,l) Symbolic Execution (SPF) Path constraints and Cost Cost Function : number of instructions executed in byte 31

32 Static Analysis Phase Constraints on h: length and range bound String Function F(h,l) Symbolic Execution (SPF) Path constraints and Cost Merge path constraints based on indistinguishable cost Cost Function : number of instructions executed in byte 32

33 Path Constraints for Password Checking Function Length of public input (l) = 4 Length of secret input (h) = 4 33

34 Goal: Attack Synthesis 34

35 Generate Sequence of inputs revealing information about the secret value 35

36 Attack Synthesis 36

37 Attack Synthesis Unknown Secret: PATH 37

38 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model 38

39 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation 39

40 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Inferred constraint: h[0]!= l[0] Infer constraint based on observation 40

41 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Inferred constraint: h[0]!= l[0] Infer constraint based on observation Updated constraint on h: h[0]!= A 41

42 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation Inferred constraint: h[0]!= l[0] Solve Updated constraint on h: h[0]!= A attack input: PDEF 42

43 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation Inferred constraint: h[0]!= l[0] Solve Updated constraint on h: h[0]!= A attack input: PDEF Inferred constraint: h[0] == l[0] && h[1]!= l[1] Infer constraint based on observation 43

44 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation Inferred constraint: h[0]!= l[0] Solve Updated constraint on h: h[0]!= A attack input: PDEF Inferred constraint: h[0] == l[0] && h[1]!= l[1] Infer constraint based on observation Updated constraint on h: h[0]!= A && h[0] == P && h[1]!= D Solve attack input: PAGD 44

45 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation Inferred constraint: h[0]!= l[0] Solve Updated constraint on h: h[0]!= A attack input: PDEF Inferred constraint: h[0] == l[0] && h[1]!= l[1] Infer constraint based on observation Updated constraint on h: h[0]!= A && h[0] == P && h[1]!= D Solve attack input: PAGD Update constraints on h 45

46 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation Inferred constraint: h[0]!= l[0] Solve Updated constraint on h: h[0]!= A attack input: PDEF Inferred constraint: h[0] == l[0] && h[1]!= l[1] Infer constraint based on observation Get next attack input attack input: PAGD Update constraints on h Updated constraint on h: h[0]!= A && h[0] == P && h[1]!= D Solve 46

47 Attack Synthesis Unknown Secret: PATH String range: AAAA ~ ZZZZ Solve Constraint attack input: ABCD Get a Random Model Infer constraint based on observation Inferred constraint: h[0]!= l[0] Sequence of attack inputs Solve Updated constraint on h: h[0]!= A attack input: PDEF Inferred constraint: h[0] == l[0] && h[1]!= l[1] Infer constraint based on observation Get next attack input attack input: PAGD Update constraints on h Updated constraint on h: h[0]!= A && h[0] == P && h[1]!= D Solve 47

48 Attack Synthesis Phase Input sequence revealing partial or full secret input value Initial Path Constraints Constraint Solver (ABC) Get a model Use as Attack Input Observation Update path constraints 48

49 Attack Synthesis Phase Input sequence revealing partial or full secret input value Initial Path Constraints Constraint Solver (ABC) Get a model Use as Attack Input Observation Update path constraints 49

50 Attack Synthesis Phase Input sequence revealing partial or full secret input value Initial Path Constraints Constraint Solver (ABC) Get a model Use as Attack Input Observation Update path constraints 50

51 We can automatically generate an attack using Program path constraints Observation from program execution Generating constraints from observation Updating constraints on secret value Solving constraints to get attack input We call this Model-Based Attack Synthesis (M) 51

52 We can synthesize attacks using Model-Based (M) Attack Synthesis Why do we need meta-heuristics? 52

53 String inequality Function public String inequality(string i) { if(s <= i) do something simple; // 2 seconds else do something complex; // 5 seconds return 0; } 53

54 String inequality Function public String inequality(string i) { if(s <= i) do something simple; // 2 seconds else do something complex; // 5 seconds observations return 0; } O = 1 s <= i O = 2 s > i 54

55 O = 1 s <= i S AAAA AAAB O = 2 s > i ZZZY ZZZZ 55

56 O = 1 s <= i S AAAA AAAB O = 2 s > i ZZZY ZZZZ i = ZZZX O = 1 s <= ZZZX AAAA AAAB O = 2 s > ZZZX ZZZY ZZZZ Attacker s input and observation partitions domain of S 56

57 O = 1 s <= i S AAAA AAAB O = 2 s > i ZZZY ZZZZ i = ZZZX O = 1 s <= ZZZX AAAA AAAB O = 2 s > ZZZX ZZZY i = MNON O = 1 AAAA AAAB ZZZZ i = ZZZZ O = 2 ZZZY ZZZZ Attacker s input and observation sequences partitions domain of S 57

58 How input and observation affects partitioning? 58

59 O = 1 s <= i AAAA AAAB O = 2 s > i MNOO MNOP ZZZY ZZZZ 59

60 O = 1 s <= i AAAA AAAB O = 2 s > i ZZZY ZZZZ i = ZZZX O = 1 s <= ZZZX AAAA AAAB O = 2 s > ZZZX ZZZY ZZZZ 60

61 O = 1 s <= i AAAA AAAB O = 2 s > i ZZZY ZZZZ i = ZZZX O = 1 s <= ZZZX AAAA AAAB O = 2 s > ZZZX ZZZY i = UVWA O = 2 O = 1 AAAA AAAB ZZZZ UVWB ZZZX 61

62 O = 1 s <= i AAAA AAAB O = 2 s > i ZZZY ZZZZ i = ZZZX O = 1 s <= ZZZX AAAA AAAB O = 2 s > ZZZX ZZZY i = UVWA O = 2 O = 1 AAAA AAAB i = TAOM AAAB UVWB ZZZX O = 2 O = 1 AAAA ZZZZ TAON UVWA 62

63 O = 1 s <= i AAAA AAAB O = 2 s > i ZZZY ZZZZ i = MMMM O = 1 s <= MMMM AAAA AAAB O = 2 s > MMMM ZZZY ZZZZ 63

64 O = 1 s <= i AAAA AAAB O = 2 s > i ZZZY ZZZZ i = MMMM O = 1 s <= MMMM AAAA AAAB O = 2 s > MMMM i = FFFF O = 1 AAAA ZZZY ZZZZ i = TTTT O = 2 AAAB O = 1 O = 2 ZZZY ZZZZ 64

65 O = 1 s <= i AAAA AAAB O = 2 s > i ZZZY ZZZZ i = MMMM O = 1 s <= MMMM AAAA AAAB O = 2 s > MMMM i = FFFF O = 2 AAAB i = CCCC AAAA i = JJJJ ZZZZ i = TTTT O = 1 AAAA ZZZY O = 1 O = 2 i = QQQQ ZZZY ZZZZ i = WWWW. ZZZZ 65

66 Imbalanced partitions Worst case : number of inputs = domain size = 264 = [number of alphabets = 26, length =4] 66

67 Balanced partitions Worst case : number of inputs = log2(456976) = 18.8 [number of alphabets = 26, length =4] 67

68 Objective Function Balanced partitions Maximizes information gain 68

69 Objective Function O = 1 s <= i O = 2 s > i Maximize information gain Binary Search 69

70 Objective Function O = 1 s <= i O = 2 s > i Maximize information gain Binary Search Programs in general Maximize information gain Optimal Search 70

71 Objective Function information gain Shannon Entropy Formula 71

72 Shannon Entropy Formula What is Pj? How to calculate Pj? 72

73 73

74 O1 O2 74

75 75

76 76

77 p1 p2 p3 p4 77

78 s P(s ) 78

79 s P(s ) = 79

80 Number of secret inputs belong to this partition Domain size 80

81 Number of secret inputs consistent with partition s path constraint Domain size 81

82 Count number of models for this constraint Domain size Model Counting Problem 82

83 Automata Based Model Counting (ABC) 83

84 Automata Based Model Counting (ABC) Count the number of strings consistent with PC 84

85 Automata Based Model Counting (ABC) Count the number of strings consistent with PC ABC constructs an automaton recognizing solution to PC 85

86 Automata Based Model Counting (ABC) Count the number of strings consistent with PC ABC constructs an automaton recognizing solution to PC x in [A-Z]+ ^ charat(x,0)='a' 86

87 Automata Based Model Counting (ABC) Count the number of strings consistent with PC ABC constructs an automaton recognizing solution to PC x in [A-Z]* ^ charat(x,0)='a' Model count ( PC ) is the number of accepting paths in automaton 87

88 Constraint-based Model Generation Constraints ABC Model 88

89 Constraint-based Model Generation Constraints ABC Constraints Model ABC Mutated Model 89

90 Constraint-based Model Generation ABC Constraints Constraints Input Model ABC Mutation Mutated Model Candidate input generation 90

91 Constraint-based Model Generation ABC Constraints Model Constraints Input ABC Mutation Mutated Model Candidate input generation non-restricted (NR) String mutation 91

92 Constraint-based Model Generation ABC Constraints Model Constraints Input ABC Mutation Mutated Model Candidate input generation restricted (R) Mutated Model 92

93 Maximize information gain Optimal Search 93

94 Meta-heuristics Techniques Random Search Simulated Annealing Genetic Algorithm 94

95 Meta-heuristics Techniques Random Search Simulated Annealing Genetic Algorithm We implement and experiment these popular meta-heuristics techniques as black box optimization procedures that make repeated calls to ABC to evaluate the information gain objective function 95

96 Random Search information gain Calculate information gain for random candidate inputs input 96

97 Random Search Calculate information gain for random candidate inputs information gain Select candidate input with maximum information gain input 97

98 Random Search Calculate information gain for random candidate inputs Select candidate input with maximum information gain information gain Use the candidate as next attack input attack input input 98

99 Simulated Annealing information gain information gain for first candidate input input 99

100 Simulated Annealing information gain for new candidate input information gain information gain for first candidate input input 100

101 Simulated Annealing information gain for new candidate input better information gain select as attack input information gain information gain for first candidate input input 101

102 Simulated Annealing information gain for new candidate input better information gain select as attack input less information gain select with an acceptance probability information gain information gain for first candidate input input 102

103 Simulated Annealing information gain for new candidate input better information gain select as attack input less information gain select with an acceptance probability information gain information gain for first candidate input input 103

104 Simulated Annealing information gain for new candidate input better information gain select as attack input less information gain select with an acceptance probability reduce acceptance probability as temperature cools down information gain information gain for first candidate input input 104

105 Simulated Annealing information gain for new candidate input better information gain select as attack input less information gain select with an acceptance probability Reduce acceptance probability as temperature cools down information gain information gain for first candidate input input 105

106 Simulated Annealing information gain for new candidate input better information gain select as attack input less information gain select with an acceptance probability Reduce acceptance probability as temperature cools down information gain information gain for first candidate input attack input input 106

107 Population of candidate inputs information gain Genetic Algorithm input 107

108 Population of candidate inputs fitness (information gain) of these candidates information gain Genetic Algorithm input 108

109 Population of candidate inputs fitness (information gain) of these candidates information gain Genetic Algorithm input Select top candidates 109

110 Population of candidate inputs fitness (information gain) of these candidates information gain Genetic Algorithm input Select top candidates Mutate and crossover 110

111 Population of candidate inputs fitness (information gain) of these candidates information gain Genetic Algorithm input Mutate and crossover Update population information gain Select top candidates input 111

112 Population of candidate inputs fitness (information gain) of these candidates information gain Genetic Algorithm input Mutate and crossover Update population Select top candidate from population as attack input (l*) information gain Select top candidates attack input input 112

113 Experimental Results 113

114 Experimental Benchmark 114

115 Experimental Benchmark 115

116 Experimental Benchmark 116

117 Experimental Benchmark Number of path constraints Number of merged path constraints 117

118 Experimental Benchmark Number of path constraints Number of merged path constraints 118

119 Experimental Benchmark Number of path constraints Number of merged path constraints 119

120 Experimental Results Initial uncertainty of secret input (in bits) Number of alphabets = 26 Length of secret = 4 Domain size of h = 264 = Initial uncertainty = log2(456976) =

121 Experimental Results Metrics: Time (in seconds) Number of attack steps Remaining Uncertainty Remaining Uncertainty = Initial uncertainty - information gain 121

122 Experimental Results Techniques: Model Based Random search Simulated Annealing Genetic Algorithm 122

123 Experimental Results Model Based: Shorter execution time per attack step More attack steps 123

124 Experimental Results Simulated Annealing: Longer execution time per attack step Less attack steps 124

125 Experimental Results Password Check Insecure: 1 hour timeout 5 observationally distinguishable path Better information leakage 125

126 Experimental Results Password Check Secure: 1 hour timeout 1 observationally distinguishable path Hardly leaks information Attack becomes exhaustive 126

127 Experimental Results String Char Inequality: 1 hour timeout 80 path constraints 2 observationally distinguishable path Information leakage rate is slower 127

128 Experimental Results String Edit Distance: 1 hour timeout 2170 path constraints 22 observationally distinguishable path Information leakage rate is slower 128

129 Experimental Results Faster execution time per attack step than Simulated Annealing Need more attack steps than Simulated annealing Reason: Random search leads to less optimal input 129

130 Experimental Results Faster than Simulated Annealing but Need more attack steps than Simulated annealing Reason: Mutation and crossover leads to non-restricted model 130

131 Experimental Results Meta-heuristics does not perform better than model based when Every input in a particular attack step leaks same amount of information For example: Password Check Insecure 131

132 Experimental Results Model based attack: simpler and faster execution of attack step needs more attack step Meta-heuristics technique: slower need less attack step Simulated annealing: performs better to leak information per attack step 132

133 Attack Synthesis for Strings using Meta-heuristics String Functions F(h,l) Symbolic Execution Objective Function Entropy: Information Gain Meta-heuristics Path constraints ϕ Merged Path constraints Ψ Probability Distribution of Paths Model Counter Attack input Sequences 133

134 Thank You 134

PLDI 2016 Tutorial Automata-Based String Analysis

PLDI 2016 Tutorial Automata-Based String Analysis PLDI 2016 Tutorial Automata-Based String Analysis Tevfik Bultan, Abdulbaki Aydin, Lucas Bang Verification Laboratory http://vlab.cs.ucsb.edu Department of Computer Science Common Usages of Strings } Input

More information

Automata-based Model Counting for String Constraints. Abdulbaki Aydin, Lucas Bang, Tevfik Bultan

Automata-based Model Counting for String Constraints. Abdulbaki Aydin, Lucas Bang, Tevfik Bultan Automata-based Model Counting for String Constraints Abdulbaki Aydin, Lucas Bang, Tevfik Bultan https://vlab.cs.ucsb.edu Model Counting for String Constraints Automata-Based model Counter (ABC) 2 Can you

More information

Symbolic String Verification: Combining String Analysis and Size Analysis

Symbolic String Verification: Combining String Analysis and Size Analysis Symbolic String Verification: Combining String Analysis and Size Analysis Fang Yu Tevfik Bultan Oscar H. Ibarra Deptartment of Computer Science University of California Santa Barbara, USA {yuf, bultan,

More information

Midterm Examination CS 540-2: Introduction to Artificial Intelligence

Midterm Examination CS 540-2: Introduction to Artificial Intelligence Midterm Examination CS 54-2: Introduction to Artificial Intelligence March 9, 217 LAST NAME: FIRST NAME: Problem Score Max Score 1 15 2 17 3 12 4 6 5 12 6 14 7 15 8 9 Total 1 1 of 1 Question 1. [15] State

More information

Midterm Examination CS540-2: Introduction to Artificial Intelligence

Midterm Examination CS540-2: Introduction to Artificial Intelligence Midterm Examination CS540-2: Introduction to Artificial Intelligence March 15, 2018 LAST NAME: FIRST NAME: Problem Score Max Score 1 12 2 13 3 9 4 11 5 8 6 13 7 9 8 16 9 9 Total 100 Question 1. [12] Search

More information

Action Language Verifier, Extended

Action Language Verifier, Extended Action Language Verifier, Extended Tuba Yavuz-Kahveci 1, Constantinos Bartzis 2, and Tevfik Bultan 3 1 University of Florida 2 Carnegie Mellon University 3 UC, Santa Barbara 1 Introduction Action Language

More information

Decomposition Instead of Self- Composition for Proving the Absence of Timing Channels

Decomposition Instead of Self- Composition for Proving the Absence of Timing Channels Decomposition Instead of Self- Composition for Proving the Absence of Timing Channels PLDI June 20th, 2017 Timos Antonopoulos, Yale Paul Gazzillo, Yale Michael Hicks, UMD Eric Koskinen, Yale Tachio Terauchi,

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

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms Olga Galinina olga.galinina@tut.fi ELT-53656 Network Analysis and Dimensioning II Department of Electronics and Communications Engineering Tampere University of Technology, Tampere, Finland March 19, 2014

More information

CSE 565 Computer Security Fall 2018

CSE 565 Computer Security Fall 2018 CSE 565 Computer Security Fall 2018 Lecture 16: Building Secure Software Department of Computer Science and Engineering University at Buffalo 1 Review A large number of software vulnerabilities various

More information

Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems

Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems V Brazilian Symposium on Computing Systems Engineering Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems Alessandro Trindade, Hussama Ismail, and Lucas Cordeiro Foz

More information

Exploring Complexity In Science and Technology. Logistics

Exploring Complexity In Science and Technology. Logistics Exploring Complexity In Science and Technology Nov. 8, 2010 Jeff Fletcher Logistics Due HW6 and Lab5 due Monday Nov. 15 Ideas for final papers Proposals (one paragraph) due today Questions? Elementary

More information

Secure Development After Security Bugs

Secure Development After Security Bugs Secure Development After Security Bugs Jeremy Epstein Program Manager Presentation to 1 st IEEE Cybersecurity Development Conference (SecDev) 11/03/16 Distribution Statement A. Approved for public release:

More information

Genetic improvement of software: a case study

Genetic improvement of software: a case study Genetic improvement of software: a case study Justyna Petke Centre for Research on Evolution, Search and Testing Department of Computer Science, UCL, London Genetic Improvement Programming Automatically

More information

Indexing and Searching

Indexing and Searching Indexing and Searching Introduction How to retrieval information? A simple alternative is to search the whole text sequentially Another option is to build data structures over the text (called indices)

More information

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University Search & Optimization Search and Optimization method deals with

More information

Hardware-Software Codesign

Hardware-Software Codesign Hardware-Software Codesign 4. System Partitioning Lothar Thiele 4-1 System Design specification system synthesis estimation SW-compilation intellectual prop. code instruction set HW-synthesis intellectual

More information

Chapter 14 Global Search Algorithms

Chapter 14 Global Search Algorithms Chapter 14 Global Search Algorithms An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Introduction We discuss various search methods that attempts to search throughout the entire feasible set.

More information

Genetic Algorithm for Circuit Partitioning

Genetic Algorithm for Circuit Partitioning Genetic Algorithm for Circuit Partitioning ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,

More information

International Journal of Information Technology and Knowledge Management (ISSN: ) July-December 2012, Volume 5, No. 2, pp.

International Journal of Information Technology and Knowledge Management (ISSN: ) July-December 2012, Volume 5, No. 2, pp. Empirical Evaluation of Metaheuristic Approaches for Symbolic Execution based Automated Test Generation Surender Singh [1], Parvin Kumar [2] [1] CMJ University, Shillong, Meghalya, (INDIA) [2] Meerut Institute

More information

ABC basics (compilation from different articles)

ABC basics (compilation from different articles) 1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node

More information

Satisfiability. Michail G. Lagoudakis. Department of Computer Science Duke University Durham, NC SATISFIABILITY

Satisfiability. Michail G. Lagoudakis. Department of Computer Science Duke University Durham, NC SATISFIABILITY Satisfiability Michail G. Lagoudakis Department of Computer Science Duke University Durham, NC 27708 COMPSCI 271 - Spring 2001 DUKE UNIVERSITY Page 1 Why SAT? Historical Reasons The first NP-COMPLETE problem

More information

Communication and Wall clock time

Communication and Wall clock time Communication and Wall clock time Each processor spends CPU time on a job. There is also time spent in communication between processors. Wall clock time is the temporal duration of a job, which is determined

More information

OptCE: A Counterexample-Guided Inductive Optimization Solver

OptCE: A Counterexample-Guided Inductive Optimization Solver Federal University of Amazonas (UFAM) Postgraduate Program in Electrical Engineering (PPGEE) OptCE: A Counterexample-Guided Inductive Optimization Solver Higo Albuquerque, Rodrigo Araújo, Iury Bessa, Lucas

More information

Testing, Fuzzing, & Symbolic Execution

Testing, Fuzzing, & Symbolic Execution Testing, Fuzzing, & Symbolic Execution Software Testing The most common way of measuring & ensuring correctness Input 2 Software Testing The most common way of measuring & ensuring correctness Input Observed

More information

Research Incubator: Combinatorial Optimization. Dr. Lixin Tao December 9, 2003

Research Incubator: Combinatorial Optimization. Dr. Lixin Tao December 9, 2003 Research Incubator: Combinatorial Optimization Dr. Lixin Tao December 9, 23 Content General Nature of Research on Combinatorial Optimization Problem Identification and Abstraction Problem Properties and

More information

Informed search algorithms. Chapter 4

Informed search algorithms. Chapter 4 Informed search algorithms Chapter 4 Outline Best-first search Greedy best-first search A * search Heuristics Memory Bounded A* Search Best-first search Idea: use an evaluation function f(n) for each node

More information

Introduction to Artificial Intelligence 2 nd semester 2016/2017. Chapter 4: Beyond Classical Search

Introduction to Artificial Intelligence 2 nd semester 2016/2017. Chapter 4: Beyond Classical Search Introduction to Artificial Intelligence 2 nd semester 2016/2017 Chapter 4: Beyond Classical Search Mohamed B. Abubaker Palestine Technical College Deir El-Balah 1 Outlines local search algorithms and optimization

More information

Algorithm Design (4) Metaheuristics

Algorithm Design (4) Metaheuristics Algorithm Design (4) Metaheuristics Takashi Chikayama School of Engineering The University of Tokyo Formalization of Constraint Optimization Minimize (or maximize) the objective function f(x 0,, x n )

More information

Symbolic Execution with Interval Constraint Solving and Meta-Heuristic Search

Symbolic Execution with Interval Constraint Solving and Meta-Heuristic Search Symbolic Execution with Interval Constraint Solving and Meta-Heuristic Search Mateus Borges, Marcelo d'amorim (Fed. U. Pernambuco, Brazil) Saswat Anand (Georgia Inst. of Technology) David Bushnell, Corina

More information

Non-deterministic Search techniques. Emma Hart

Non-deterministic Search techniques. Emma Hart Non-deterministic Search techniques Emma Hart Why do local search? Many real problems are too hard to solve with exact (deterministic) techniques Modern, non-deterministic techniques offer ways of getting

More information

Design Space Exploration

Design Space Exploration Design Space Exploration SS 2012 Jun.-Prof. Dr. Christian Plessl Custom Computing University of Paderborn Version 1.1.0 2012-06-15 Overview motivation for design space exploration design space exploration

More information

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) 1 Outline Local search techniques and optimization Hill-climbing

More information

CAD Algorithms. Placement and Floorplanning

CAD Algorithms. Placement and Floorplanning CAD Algorithms Placement Mohammad Tehranipoor ECE Department 4 November 2008 1 Placement and Floorplanning Layout maps the structural representation of circuit into a physical representation Physical representation:

More information

OPTIMISING ASSOCIATION RULE ALGORITHMS USING ITEMSET ORDERING

OPTIMISING ASSOCIATION RULE ALGORITHMS USING ITEMSET ORDERING OPTIMISING ASSOCIATION RULE ALGORITHMS USING ITEMSET ORDERING ES200 Peterhouse College, Cambridge Frans Coenen, Paul Leng and Graham Goulbourne The Department of Computer Science The University of Liverpool

More information

Genetic algorithm for optimal imperceptibility in image communication through noisy channel

Genetic algorithm for optimal imperceptibility in image communication through noisy channel Genetic algorithm for optimal imperceptibility in image communication through noisy channel SantiP.Maity 1, Malay K. Kundu 2 andprasantak.nandi 3 1 Bengal Engineering College (DU), P.O.-Botanic Garden,

More information

Administrative. Local Search!

Administrative. Local Search! Administrative Local Search! CS311 David Kauchak Spring 2013 Assignment 2 due Tuesday before class Written problems 2 posted Class participation http://www.youtube.com/watch? v=irhfvdphfzq&list=uucdoqrpqlqkvctckzqa

More information

Sliced Path Prefixes: An Effective Method to Enable Refinement Selection

Sliced Path Prefixes: An Effective Method to Enable Refinement Selection FORTE '15 Sliced Path Prefixes: An Effective Method to Enable Refinement Selection Dirk Beyer, Stefan Löwe, Philipp Wendler SoSy-Lab Software Systems We want Refinement Selection!!! Because straight-forward

More information

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) 1 2 Outline Local search techniques and optimization Hill-climbing

More information

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) 1 2 Outline Local search techniques and optimization Hill-climbing

More information

MODULE 6 Different Approaches to Feature Selection LESSON 10

MODULE 6 Different Approaches to Feature Selection LESSON 10 MODULE 6 Different Approaches to Feature Selection LESSON 10 Sequential Feature Selection Keywords: Forward, Backward, Sequential, Floating 1 Sequential Methods In these methods, features are either sequentially

More information

Automated SQL Ownage Techniques. OWASP October 30 th, The OWASP Foundation

Automated SQL Ownage Techniques. OWASP October 30 th, The OWASP Foundation Automated SQL Ownage Techniques October 30 th, 2009 Sebastian Cufre Developer Core Security Technologies sebastian.cufre@coresecurity.com Copyright The Foundation Permission is granted to copy, distribute

More information

Learning Path Queries on Graph Databases

Learning Path Queries on Graph Databases Learning Path Queries on Graph Databases Radu Ciucanu joint work with Angela Bonifati and Aurélien Lemay University of Lille, France INRIA Lille Nord Europe Links Project EDBT 15 March 24, 2015 Radu Ciucanu

More information

Reverse Engineering. Class 6. Fuzzing. Reverse Engineering Class 6 Martin Balao martin.uy/reverse v1.0 EN CC BY-SA

Reverse Engineering. Class 6. Fuzzing. Reverse Engineering Class 6 Martin Balao martin.uy/reverse v1.0 EN CC BY-SA Reverse Engineering Class 6 Fuzzing 1 Fuzzing Grey box testing May be guided by reverse engineering Send, in an automatized way, valid and invalid inputs to an application with the goal of triggering bad

More information

CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION

CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION 131 CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION 6.1 INTRODUCTION The Orthogonal arrays are helpful in guiding the heuristic algorithms to obtain a good solution when applied to NP-hard problems. This

More information

Practical SAT Solving

Practical SAT Solving Practical SAT Solving Lecture 5 Carsten Sinz, Tomáš Balyo May 23, 2016 INSTITUTE FOR THEORETICAL COMPUTER SCIENCE KIT University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz

More information

Outlines. Fuzzy Membership Function Design Using Information Theory Measures and Genetic Algorithms. Outlines

Outlines. Fuzzy Membership Function Design Using Information Theory Measures and Genetic Algorithms. Outlines Fuzzy Membership Function Design Using Information Theory Measures and Genetic Algorithms Outlines Introduction Problem Statement Proposed Approach Results Conclusion 2 Outlines Introduction Problem Statement

More information

Compiler Construction LECTURE # 3

Compiler Construction LECTURE # 3 Compiler Construction LECTURE # 3 The Course Course Code: CS-4141 Course Title: Compiler Construction Instructor: JAWAD AHMAD Email Address: jawadahmad@uoslahore.edu.pk Web Address: http://csandituoslahore.weebly.com/cc.html

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

Type Assisted Synthesis of Programs with Algebraic Data Types

Type Assisted Synthesis of Programs with Algebraic Data Types Type Assisted Synthesis of Programs with Algebraic Data Types Jeevana Priya Inala MIT Collaborators: Xiaokang Qiu (MIT), Ben Lerner (Brown), Armando Solar-Lezama (MIT) Example - Desugaring a simple language

More information

Application of Genetic Algorithms to CFD. Cameron McCartney

Application of Genetic Algorithms to CFD. Cameron McCartney Application of Genetic Algorithms to CFD Cameron McCartney Introduction define and describe genetic algorithms (GAs) and genetic programming (GP) propose possible applications of GA/GP to CFD Application

More information

Informed search algorithms. Chapter 4

Informed search algorithms. Chapter 4 Informed search algorithms Chapter 4 Material Chapter 4 Section 1 - Exclude memory-bounded heuristic search 3 Outline Best-first search Greedy best-first search A * search Heuristics Local search algorithms

More information

Efficient Signature Matching with Multiple Alphabet Compression Tables

Efficient Signature Matching with Multiple Alphabet Compression Tables Efficient Signature Matching with Multiple Alphabet Compression Tables Shijin Kong Randy Smith Cristian Estan Presented at SecureComm, Istanbul, Turkey Signature Matching Signature Matching a core component

More information

Quantitative Verification and Synthesis of Systems

Quantitative Verification and Synthesis of Systems Quantitative Verification and Synthesis of Systems Sanjit A. Seshia Assistant Professor EECS, UC Berkeley Software-at-Scale Workshop August 2010 Quantitative Analysis / Verification Does the brake-by-wire

More information

Performance Assessment of DMOEA-DD with CEC 2009 MOEA Competition Test Instances

Performance Assessment of DMOEA-DD with CEC 2009 MOEA Competition Test Instances Performance Assessment of DMOEA-DD with CEC 2009 MOEA Competition Test Instances Minzhong Liu, Xiufen Zou, Yu Chen, Zhijian Wu Abstract In this paper, the DMOEA-DD, which is an improvement of DMOEA[1,

More information

Optimization Techniques for Design Space Exploration

Optimization Techniques for Design Space Exploration 0-0-7 Optimization Techniques for Design Space Exploration Zebo Peng Embedded Systems Laboratory (ESLAB) Linköping University Outline Optimization problems in ERT system design Heuristic techniques Simulated

More information

Solving Traveling Salesman Problem Using Parallel Genetic. Algorithm and Simulated Annealing

Solving Traveling Salesman Problem Using Parallel Genetic. Algorithm and Simulated Annealing Solving Traveling Salesman Problem Using Parallel Genetic Algorithm and Simulated Annealing Fan Yang May 18, 2010 Abstract The traveling salesman problem (TSP) is to find a tour of a given number of cities

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence CS482, CS682, MW 1 2:15, SEM 201, MS 227 Prerequisites: 302, 365 Instructor: Sushil Louis, sushil@cse.unr.edu, http://www.cse.unr.edu/~sushil Informed Search Best First Search A*

More information

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini Metaheuristic Development Methodology Fall 2009 Instructor: Dr. Masoud Yaghini Phases and Steps Phases and Steps Phase 1: Understanding Problem Step 1: State the Problem Step 2: Review of Existing Solution

More information

Optimal tour along pubs in the UK

Optimal tour along pubs in the UK 1 From Facebook Optimal tour along 24727 pubs in the UK Road distance (by google maps) see also http://www.math.uwaterloo.ca/tsp/pubs/index.html (part of TSP homepage http://www.math.uwaterloo.ca/tsp/

More information

Practical SAT Solving

Practical SAT Solving Practical SAT Solving Lecture 5 Carsten Sinz, Tomáš Balyo May 22, 2018 INSTITUTE FOR THEORETICAL COMPUTER SCIENCE KIT University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz

More information

CHAPTER 8 DISCUSSIONS

CHAPTER 8 DISCUSSIONS 153 CHAPTER 8 DISCUSSIONS This chapter discusses the developed models, methodologies to solve the developed models, performance of the developed methodologies and their inferences. 8.1 MULTI-PERIOD FIXED

More information

Model-Checking Concurrent Systems. The Model Checker Spin. The Model Checker Spin. Wolfgang Schreiner

Model-Checking Concurrent Systems. The Model Checker Spin. The Model Checker Spin. Wolfgang Schreiner Model-Checking Concurrent Systems Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at 1.

More information

CS 267: Automated Verification. Lecture 13: Bounded Model Checking. Instructor: Tevfik Bultan

CS 267: Automated Verification. Lecture 13: Bounded Model Checking. Instructor: Tevfik Bultan CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan Remember Symbolic Model Checking Represent sets of states and the transition relation as Boolean logic formulas

More information

A Multithreaded Genetic Algorithm for Floorplanning

A Multithreaded Genetic Algorithm for Floorplanning A Multithreaded Genetic Algorithm for Floorplanning Jake Adriaens ECE 556 Fall 2004 Introduction I have chosen to implement the algorithm described in the paper, Distributed Genetic Algorithms for the

More information

Evolutionary Methods for State-based Testing

Evolutionary Methods for State-based Testing Evolutionary Methods for State-based Testing PhD Student Raluca Lefticaru Supervised by Florentin Ipate University of Piteşti, Romania Department of Computer Science Outline Motivation Search-based software

More information

AE52/AC52/AT52 C & Data Structures JUNE 2014

AE52/AC52/AT52 C & Data Structures JUNE 2014 Q.2 a. Write a program to add two numbers using a temporary variable. #include #include int main () int num1, num2; clrscr (); printf( \n Enter the first number : ); scanf ( %d, &num1);

More information

Genetic Algorithm for FPGA Placement

Genetic Algorithm for FPGA Placement Genetic Algorithm for FPGA Placement Zoltan Baruch, Octavian Creţ, and Horia Giurgiu Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,

More information

Santa Fe Trail Problem Solution Using Grammatical Evolution

Santa Fe Trail Problem Solution Using Grammatical Evolution 2012 International Conference on Industrial and Intelligent Information (ICIII 2012) IPCSIT vol.31 (2012) (2012) IACSIT Press, Singapore Santa Fe Trail Problem Solution Using Grammatical Evolution Hideyuki

More information

Efficient Search for Inputs Causing High Floating-point Errors

Efficient Search for Inputs Causing High Floating-point Errors Efficient Search for Inputs Causing High Floating-point Errors Wei-Fan Chiang, Ganesh Gopalakrishnan, Zvonimir Rakamarić, and Alexey Solovyev School of Computing, University of Utah, Salt Lake City, UT

More information

External Encodings Do not Prevent Transient Fault Analysis

External Encodings Do not Prevent Transient Fault Analysis External Encodings Do not Prevent Transient Fault Analysis Christophe Clavier Gemalto, Security Labs CHES 2007 Vienna - September 12, 2007 Christophe Clavier CHES 2007 Vienna September 12, 2007 1 / 20

More information

Efficient Synthesis of Production Schedules by Optimization of Timed Automata

Efficient Synthesis of Production Schedules by Optimization of Timed Automata Efficient Synthesis of Production Schedules by Optimization of Timed Automata Inga Krause Institute of Automatic Control Engineering Technische Universität München inga.krause@mytum.de Joint Advanced Student

More information

How to (not) Share a Password:

How to (not) Share a Password: How to (not) Share a Password: Privacy preserving protocols for finding heavy hitters with adversarial behavior Moni Naor Benny Pinkas Eyal Ronen Passwords First modern use in MIT's CTSS (1961) Passwords

More information

Dr. D.M. Akbar Hussain

Dr. D.M. Akbar Hussain 1 2 Compiler Construction F6S Lecture - 2 1 3 4 Compiler Construction F6S Lecture - 2 2 5 #include.. #include main() { char in; in = getch ( ); if ( isalpha (in) ) in = getch ( ); else error (); while

More information

Department of Computer Science Admission Test for PhD Program. Part I Time : 30 min Max Marks: 15

Department of Computer Science Admission Test for PhD Program. Part I Time : 30 min Max Marks: 15 Department of Computer Science Admission Test for PhD Program Part I Time : 30 min Max Marks: 15 Each Q carries 1 marks. ¼ mark will be deducted for every wrong answer. Part II of only those candidates

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

Improvement of Web Search Results using Genetic Algorithm on Word Sense Disambiguation

Improvement of Web Search Results using Genetic Algorithm on Word Sense Disambiguation Volume 3, No.5, May 24 International Journal of Advances in Computer Science and Technology Pooja Bassin et al., International Journal of Advances in Computer Science and Technology, 3(5), May 24, 33-336

More information

ESc101 : Fundamental of Computing

ESc101 : Fundamental of Computing ESc101 : Fundamental of Computing I Semester 2008-09 Lecture 37 Analyzing the efficiency of algorithms. Algorithms compared Sequential Search and Binary search GCD fast and GCD slow Merge Sort and Selection

More information

Testing & Symbolic Execution

Testing & Symbolic Execution Testing & Symbolic Execution Software Testing The most common way of measuring & ensuring correctness Input 2 Software Testing The most common way of measuring & ensuring correctness Input Observed Behavior

More information

R10 SET a) Construct a DFA that accepts an identifier of a C programming language. b) Differentiate between NFA and DFA?

R10 SET a) Construct a DFA that accepts an identifier of a C programming language. b) Differentiate between NFA and DFA? R1 SET - 1 1. a) Construct a DFA that accepts an identifier of a C programming language. b) Differentiate between NFA and DFA? 2. a) Design a DFA that accepts the language over = {, 1} of all strings that

More information

Background: disk access vs. main memory access (1/2)

Background: disk access vs. main memory access (1/2) 4.4 B-trees Disk access vs. main memory access: background B-tree concept Node structure Structural properties Insertion operation Deletion operation Running time 66 Background: disk access vs. main memory

More information

Exploration vs. Exploitation in Differential Evolution

Exploration vs. Exploitation in Differential Evolution Exploration vs. Exploitation in Differential Evolution Ângela A. R. Sá 1, Adriano O. Andrade 1, Alcimar B. Soares 1 and Slawomir J. Nasuto 2 Abstract. Differential Evolution (DE) is a tool for efficient

More information

ECE 122. Engineering Problem Solving Using Java

ECE 122. Engineering Problem Solving Using Java ECE 122 Engineering Problem Solving Using Java Lecture 27 Linear and Binary Search Overview Problem: How can I efficiently locate data within a data structure Searching for data is a fundamental function

More information

Automated Program Repair

Automated Program Repair #1 Automated Program Repair Motivation Software maintenance is expensive Up to 90% of the cost of software [Seacord] Up to $70 Billion per year in US [Jorgensen, Sutherland] Bug repair is the majority

More information

3/12/2018. Structures. Programming in C++ Sequential Branching Repeating. Loops (Repetition)

3/12/2018. Structures. Programming in C++ Sequential Branching Repeating. Loops (Repetition) Structures Programming in C++ Sequential Branching Repeating Loops (Repetition) 2 1 Loops Repetition is referred to the ability of repeating a statement or a set of statements as many times this is necessary.

More information

Fast Searches for Effective Optimization Phase Sequences

Fast Searches for Effective Optimization Phase Sequences Fast Searches for Effective Optimization Phase Sequences Prasad Kulkarni, Stephen Hines, Jason Hiser David Whalley, Jack Davidson, Douglas Jones Computer Science Department, Florida State University, Tallahassee,

More information

Scheduling on Parallel Systems. - Sathish Vadhiyar

Scheduling on Parallel Systems. - Sathish Vadhiyar Scheduling on Parallel Systems - Sathish Vadhiyar Parallel Scheduling Categories Job Scheduling [this class] A set of jobs arriving at a parallel system Choosing an order of jobs for execution to minimize

More information

A Hybrid Approach for Misbehavior Detection in Wireless Ad-Hoc Networks

A Hybrid Approach for Misbehavior Detection in Wireless Ad-Hoc Networks A Hybrid Approach for Misbehavior Detection in Wireless Ad-Hoc Networks S. Balachandran, D. Dasgupta, L. Wang Intelligent Security Systems Research Lab Department of Computer Science The University of

More information

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing 1. Introduction 2. Cutting and Packing Problems 3. Optimisation Techniques 4. Automated Packing Techniques 5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing 6.

More information

Heuristic Optimization Introduction and Simple Heuristics

Heuristic Optimization Introduction and Simple Heuristics Heuristic Optimization Introduction and Simple Heuristics José M PEÑA (jmpena@fi.upm.es) (Universidad Politécnica de Madrid) 1 Outline 1. What are optimization problems? 2. Exhaustive vs. Heuristic approaches

More information

Hardware/Software Partitioning of Digital Systems

Hardware/Software Partitioning of Digital Systems Hardware/Software Partitioning of Digital Systems F. Dufour Advisor: M. Radetzki Department of Technical Computer Science University of Stuttgart Seminar Embedded Systems Outline 1 Partitioning and digital

More information

N-Queens problem. Administrative. Local Search

N-Queens problem. Administrative. Local Search Local Search CS151 David Kauchak Fall 2010 http://www.youtube.com/watch?v=4pcl6-mjrnk Some material borrowed from: Sara Owsley Sood and others Administrative N-Queens problem Assign 1 grading Assign 2

More information

Outline for Today CSE 142. CSE142 Wi03 G-1. withdraw Method for BankAccount. Class Invariants

Outline for Today CSE 142. CSE142 Wi03 G-1. withdraw Method for BankAccount. Class Invariants CSE 142 Outline for Today Conditional statements if Boolean expressions Comparisons (=,!=, ==) Boolean operators (and, or, not - &&,,!) Class invariants Conditional Statements & Boolean Expressions

More information

CPE 112 Spring 2015 Exam II (100 pts) March 4, Definition Matching (8 Points)

CPE 112 Spring 2015 Exam II (100 pts) March 4, Definition Matching (8 Points) Name Definition Matching (8 Points) 1. (8 pts) Match the words with their definitions. Choose the best definition for each word. Relational Expression Iteration Counter Count-controlled loop Loop Flow

More information

Introduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7.

Introduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7. Chapter 7: Derivative-Free Optimization Introduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7.5) Jyh-Shing Roger Jang et al.,

More information

B-Trees. Based on materials by D. Frey and T. Anastasio

B-Trees. Based on materials by D. Frey and T. Anastasio B-Trees Based on materials by D. Frey and T. Anastasio 1 Large Trees n Tailored toward applications where tree doesn t fit in memory q operations much faster than disk accesses q want to limit levels of

More information

Static Analysis and Bugfinding

Static Analysis and Bugfinding Static Analysis and Bugfinding Alex Kantchelian 09/12/2011 Last week we talked about runtime checking methods: tools for detecting vulnerabilities being exploited in deployment. So far, these tools have

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Local Search Vibhav Gogate The University of Texas at Dallas Some material courtesy of Luke Zettlemoyer, Dan Klein, Dan Weld, Alex Ihler, Stuart Russell, Mausam Systematic Search:

More information

Sorting. Task Description. Selection Sort. Should we worry about speed?

Sorting. Task Description. Selection Sort. Should we worry about speed? Sorting Should we worry about speed? Task Description We have an array of n values in any order We need to have the array sorted in ascending or descending order of values 2 Selection Sort Select the smallest

More information

A Late Acceptance Hill-Climbing algorithm the winner of the International Optimisation Competition

A Late Acceptance Hill-Climbing algorithm the winner of the International Optimisation Competition The University of Nottingham, Nottingham, United Kingdom A Late Acceptance Hill-Climbing algorithm the winner of the International Optimisation Competition Yuri Bykov 16 February 2012 ASAP group research

More information