सॉफ़्टवेयर व्यवहार के सभी अनजाने या अवांछनीय पहलू बग नहीं हैं। यह महत्वपूर्ण है कि यह सुनिश्चित करने के लिए कि सॉफ्टवेयर में उपयोगी और प्रलेखित श्रेणी है, जिसमें इसे उपयोगी फैशन में संचालित करने के लिए भरोसा किया जा सकता है। उदाहरण के लिए, एक कार्यक्रम, जिसे दो संख्याओं को स्वीकार करना चाहिए, उन्हें गुणा करें, और परिणामों को आउटपुट करें, और जो परिणाम के 9.95 से अधिक, लेकिन 10.00 से कम, 99.95 से अधिक, लेकिन 100.00 से कम हो, आदि पर एक बोगस संख्या को आउटपुट करता है। । यदि प्रोग्राम को उन संख्याओं के प्रसंस्करण के उद्देश्य से लिखा गया था, जिनका उत्पाद 3 और 7 के बीच था, और किसी भी अन्य को संसाधित करने के लिए कभी नहीं बुलाया जाएगा, 9.95 के साथ अपने व्यवहार को ठीक करने से यह अपने इच्छित उद्देश्य के लिए और अधिक उपयोगी नहीं होगा। हालाँकि, यह कार्यक्रम को अन्य उद्देश्यों के लिए अधिक उपयुक्त बना सकता है।
उपरोक्त जैसी स्थिति में, कार्रवाई के दो उचित पाठ्यक्रम होंगे:
समस्या को ठीक करें, यदि ऐसा करना व्यावहारिक है।
उन श्रेणियों को निर्दिष्ट करें, जिनमें प्रोग्राम का आउटपुट विश्वसनीय होगा और यह बताता है कि प्रोग्राम केवल डेटा पर उपयोग के लिए उपयुक्त है, जो मान्य श्रेणियों के मान का उत्पादन करने के लिए जाना जाता है।
दृष्टिकोण # 1 बग को समाप्त कर देगा। दृष्टिकोण # 2 प्रगति को कुछ उद्देश्यों के लिए कम उपयुक्त बना सकता है, अन्यथा हो सकता है, लेकिन अगर समस्याग्रस्त मूल्यों को संभालने के लिए कार्यक्रमों की कोई आवश्यकता नहीं है, तो समस्या नहीं हो सकती है।
भले ही 99.95 से 100.0 मानों को सही ढंग से संभालने में असमर्थता एक प्रोग्रामिंग गलती का परिणाम है [उदाहरण के लिए दशमलव बिंदु के बाईं ओर दो अंकों को आउटपुट करने का निर्णय लेने के बाद एक स्थान पर चक्कर लगाने से पहले, इस प्रकार 00.00 उपज], इसे केवल माना जाना चाहिए। बग यदि प्रोग्राम अन्यथा ऐसे मामलों में सार्थक आउटपुट के रूप में निर्दिष्ट किया जाएगा। [संयोग से, उपरोक्त समस्या टर्बो सी 2.00 प्रिंटफ कोड में हुई; उस संदर्भ में, यह स्पष्ट रूप से एक बग है, लेकिन कोड जो दोषपूर्ण प्रिंटफ कहता है, केवल छोटी गाड़ी होगी यदि यह समस्याग्रस्त सीमाओं में आउटपुट का उत्पादन कर सकता है]।