1) How many distinct SYN-sequences are there for the program Thread 1 Thread 2 Thread 3 p2.send(a) x=p2.recv() p2.send(d) x=p1.recv() y=p2.recv() p1.send(e) y=p1.recv() p1.send(b) z=p1.recv() p1.send(c) You don't have to draw a diagram for each, draw a few and show how you can reach the solution Answer: 6 2) What assumptions do we have to make to ensure that we only need to execute each SYN-sequence once? Answer: Consider all possible things that can affect a concurrent program's output. 3) What is the state explosion problem. Construct a simple example that show the number of states can grow exponentially with respect to the number of statements. Answer: Make independent short snippets, each can double the number of states