Write these up and submit them to Canvas, the day before the lecture. =========================================================================== Please include in your write up commentaries of the following papers: * "Debugging Reinvented: Asking and Answering Why and Why Not Questions About Program Behavior" * "Cost Effective Dynamic Program Slicing" =========================================================================== Briefly answer the following questions: 1. Which "why" and "why not" questions can be answered by Whyline? Which ones cannot? How do the questions that Whyline can answer differ from those that it cannot? 2. Would it be possible to implement Whyline (from the user's perspective) using a static slicing algorithm? Why or why not? 3. What does "familiar" mean in the context of Whyline? What might go wrong if Whyline did not include a notion of familiarity? 4. The Whyline authors claim "the Whyline can benefit from other innovations in slicing, such as the recently proposed thin slicing." Is this claim true? If so, how could Whyline benefit? If not, why not? 5. What do Zhang and Gupta mean by "completeness?" Is this concept related to the concepts of "soundness" or "completeness" as we discussed with respect to abstract interpretation? Why or why not? 6. Refering to Figure 15, Zhang and Gupta say that "the distribution obtained is dependent upon the order in which the optimizations are applied since some cases can be handled by multiple optimizations." Describe an alternative experimental design that is not dependent on the order in which optimizations are applied that would allow a reader to directly compare the 6 optimizations. =========================================================================== 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.