Write these up and submit them to Canvas, the day before the lecture. =========================================================================== Please include in your write up commentaries of the following papers: "Typestate: A Programming Language Concept for Enhancing Software Reliability" "Effective Typestate Verification in the Presence of Aliasing" =========================================================================== Briefly answer the following questions. 1. Give an example of a typestate specification you've encountered that was not mentioned in one of the papers we read for today. 2. Give an example of a property about a program that cannot be expressed as a typestate specification. What about this property makes it unverifiable by a typestate checker? 3. For an arbitrary typestate specification, is there some typestate in which it is safe to assume that any object might be in that state? (That is, is there always a typestate that is analogous to "top" in an abstract interpretation?) Why or why not? 4. What do Strom and Yemeni mean by "sensical" and "non-sensical" programs? Is this concept related to the concept of soundness in an abstract interpretation? 5. Aliasing is a key issue for a typestate analysis. Why? 6. Contrast the handling of aliasing in NIL and the handling of aliasing in Fink et al.'s typestate checking system. =========================================================================== Answer the following questions: 7. What was the most confusing part or parts of the reading? Why? 8. How much time did you spend on this assignment? =========================================================================== end.