Bring a laptop to class tomorrow. =========================================================================== Write these up and submit them to Canvas, the day before the lecture. =========================================================================== Please include in your write up a commentary of chapter 3 of Martin's thesis (i.e., the chapter titled "Lightweight Verification via Accumulation Analysis"). =========================================================================== Briefly answer the following questions. 1. Consider Table III of the paper "Effective typestate verification in the presence of aliasing", which we read for last class. Name one example from the table of a typestate property that is an accumulation typestate property, and one example of a typestate property that is not. 2. Can an accumulation analysis prevent all "nonsensical" program executions, using the definition of "nonsensical" from Strom and Yemeni's paper that we read for last class? Why or why not? 3. What is the purpose of the TS-LOAD-FIX rule? If the language of the proof had no fields (i.e., no loads or stores), would the problem solved by this rule come up? 4. Give an example of alias reasoning that is done by a practical accumulation analysis discussed in this chapter. How is this alias reasoning different than running a whole-program alias analysis? 5. In the evaluations in section 3.5 and 3.6, what is one important cause of false positives? Would a more precise alias analysis eliminate this kind of false positive? Why or why not? 6. Is there an "ablation study" (as discussed in class) in this chapter? If so, give a section or figure/table number in which it is described. If not, define an ablation study. =========================================================================== 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.