Key points are not available for this paper at this time.
एक असफल प्रोग्राम के निष्पादन को प्रोग्राम राज्यों के अनुक्रम के रूप में विचार करें। प्रत्येक राज्य निम्नलिखित राज्य को उत्पन्न करता है, असफलता तक। एक प्रोग्राम राज्य के लिए कौन से वेरिएबल और मान असफलता के लिए प्रासंगिक हैं? हम दिखाते हैं कि डेल्टा डिबगिंग एल्गोरिदम प्रासंगिक वेरिएबल और मानों को कैसे अलग करता है, द्वारा एक सफल चलन और एक असफल चलन के बीच राज्य का अंतर व्यवस्थित रूप से संकीर्ण करके - परिवर्तित निष्पादन के परिणाम का आकलन करके यह निर्धारित करने के लिए कि क्या प्रोग्राम राज्य में परिवर्तन परीक्षण के परिणाम में कोई अंतर बनाता है। डेल्टा डिबगिंग को प्रोग्राम के कई राज्यों पर लागू करने से असफलता की कारण-प्रभाव श्रृंखला स्वतः प्रकट होती है - अर्थात्, वे वेरिएबल और मान जो असफलता का कारण बने। एक केस स्टडी में, हमारी प्रोटोटाइप कार्यान्वयन ने GNU C संकलक की असफलता के लिए कारण-प्रभाव श्रृंखला को सफलतापूर्वक अलग किया: "आरंभ में, संकलित होने वाले C प्रोग्राम में 1.0 का जोड़ शामिल था; इसने मध्यवर्ती RTL प्रतिनिधित्व में एक जोड़कर्ता का कारण बना; इसने RTL वृक्ष में एक चक्र का कारण बना - और इसने संकलक को क्रैश कर दिया।"
आंद्रियस ज़ेलर (शुक्र,) ने इस प्रश्न का अध्ययन किया।