CIS 573 Fall 2012
Study Guide for Oct 10 quiz
This quiz will cover the lecture material and reading assignments for Oct 1 and Oct 3.
Oct 1: Debugging and Fault Localization
Review questions (keep in mind that not all of these were discussed in lecture):
- What are the different "levels" of fault localization? What are the limitations of each?
- What is the definition of a program slice?
- What are data dependence and control dependence? How are they used to determine program slices?
- What is the difference between a forward slice and a backward slice? Between a static slice and a dynamic slice?
- What is program dicing?
- How are slices used in debugging? What are some of the limitations of using them to localize faults in a program?
- In Jones et al., why do the authors consider the percentage of passing (or failing) test cases that include a particular statement, as opposed to the number of passing (or failing) test cases, in determining color?
Oct 3: Regression Testing
- In practice, why is test case selection necessary for regression testing?
- What is the definition of a "safe" regression test selection technique?
- How is a "dangerous entity" defined? How are they detected in the algorithm described in the paper?
- What are the special features of Java that affect regression testing?
- In practice, why is test case prioritization necessary for regression testing?
- What test case prioritization techniques are described in the Elbaum et al. paper? How do the "total" techniques differ from their corresponding "additional" techniques?
- Which of the prioritization techniques are specific to regression testing?
- How is fault exposing potential (FEP) measured? How is the fault index (FI) determined? How are they different?
Updated: Fri Oct 5, 3:07pm