Write these up and submit them to Canvas, the day before the lecture. =========================================================================== Please include in your write up commentaries of the following papers: "The Model Checker SPIN" "Using predicate abstraction to reduce object-oriented programs for model checking" "Counterexample-Guided Abstraction Refinement" =========================================================================== Briefly answer the following questions: 1. What is the most important difference between SPIN and the two model checkers we discussed last class (i.e., CMC and CHESS)? 2. What is the difference between a safety property and a liveness property? Which of these can SPIN be used to check? 3. Consider the divide-by-zero analysis you built earlier in the quarter. Using the definitions of "Weak Preservation" and "Strong Preservation" in the paper "Using predicate abstraction to reduce object-oriented programs for model-checking", was your abstract domain weakly or strongly preserving? Why? 4. What technique was used for predicate abstraction in the DEOS system? Do the authors believe that technique is scalable? If so, why? If not, do they propose an alternative? 5. Why do spurious counter-examples occur during counter-example guided abstraction refinement? =========================================================================== Answer the following questions: 6. What was the most confusing part or parts of the reading? Why? 7. How much time did you spend on this assignment? =========================================================================== end.