1. What's the relationship between these two papers in the context of Bandera (ie, in how Bandera uses the results of these papers)? 2. As a programmer, how do these papers suggest you should write your code in order to make it more suitable for verification? [On the "compact models" paper] 3. Does the compact model satisfy all of the same formulas as the original model? Justify your answer with a brief intuitive argument, including a specific LTL property that the compact model could violate if you believe the models satisfy different formulas. 4. The paper talks about addressing issues arising from an interleaving semantics. What is an interleaving semantics? 5. Why is the summary node necessary (section 5.2)? [On the "slicing" paper] 6. How is slicing used in the overall Bandera methodology? (the paper talks about Bandera's methodology) 7. If a property fails in the sliced model, what does that tell you about the property in the original model? Justify your answer. 8. The beginning of section 3.1 says that slices contain statements that "(potentially) affect" values flowing into program points. Could the authors remove the need for the "potentially" disclaimer with a bit more work? Justify your answer.