ScholarGate
सहायक

प्रोग्राम विश्लेषण और सत्यापन

प्रोग्राम विश्लेषण और सत्यापन यह समझने के लिए कठोर तकनीकों का उपयोग करते हैं कि प्रोग्राम क्या करते हैं, त्रुटियों का पता लगाते हैं या यह सिद्ध करते हैं कि सॉफ्टवेयर अपनी विशिष्टता को पूरा करता है।

PaperMind से विषय खोजेंजल्द हीFind papers & topics
Tools & resources
स्लाइड डाउनलोड करें
Learn & explore
वीडियोजल्द ही

Definition

प्रोग्राम विश्लेषण, प्रोग्राम के व्यवहार के गुणों का स्वचालित व्युत्पत्ति है, बिना उसे सभी इनपुट पर चलाए, और प्रोग्राम सत्यापन, प्रमाण या संपूर्ण जाँच द्वारा, यह स्थापित करना है कि एक प्रोग्राम एक औपचारिक विशिष्टता को संतुष्ट करता है।

Scope

यह क्षेत्र प्रोग्रामों के बारे में स्वचालित और अर्ध-स्वचालित तर्क को शामिल करता है: स्थैतिक विश्लेषण और डेटाफ्लो तकनीकें, ध्वनि सन्निकटन के लिए एक एकीकृत ढाँचे के रूप में अमूर्त व्याख्या, परिमित-स्थिति और समवर्ती प्रणालियों की मॉडल जाँच, और प्रमाण सहायकों के साथ निगमनात्मक सत्यापन। यह सुदृढ़ता, सटीकता और निर्णयक्षमता के बीच संतुलन, और विश्वसनीय सॉफ्टवेयर बनाने के लिए इन विधियों के उपयोग को संबोधित करता है।

Sub-topics

Core questions

  • अनिर्णयक्षमता के बावजूद प्रोग्राम गुणों की गणना ध्वनि रूप से कैसे की जा सकती है?
  • विश्लेषण मापनीयता के विरुद्ध सटीकता का व्यापार कैसे करते हैं?
  • किसी सिस्टम की शुद्धता का परीक्षण करने के बजाय उसकी पूरी तरह से जाँच कब की जा सकती है?
  • पूर्ण कार्यात्मक-शुद्धता प्रमाण कैसे निर्मित और मशीन-जाँच किए जाते हैं?

Key theories

अमूर्त व्याख्या
कौसोट और कौसोट ने एक जाली-सैद्धांतिक ढाँचा स्थापित किया जिसमें ध्वनि स्थैतिक विश्लेषण को एक प्रोग्राम के शब्दार्थ के सन्निकटन के रूप में व्युत्पन्न किया जाता है, जो कई विश्लेषणों को एकीकृत करता है और उनकी सुदृढ़ता की गारंटी देता है।
टेम्पोरल-लॉजिक मॉडल जाँच
क्लार्क, एमर्सन और सिस्टला ने दिखाया कि स्थिति स्थान की पूरी तरह से खोज करके टेम्पोरल-लॉजिक विशिष्टताओं के विरुद्ध परिमित-स्थिति समवर्ती प्रणालियों को स्वचालित रूप से कैसे सत्यापित किया जाए।
मैकेनाइज्ड एंड-टू-एंड सत्यापन
लेरॉय का सत्यापित कंपाइलर दर्शाता है कि यथार्थवादी सॉफ्टवेयर को एक प्रमाण सहायक के साथ सही साबित किया जा सकता है, जिसमें एक मशीन-जाँच की गई गारंटी होती है कि संकलन प्रोग्राम व्यवहार को संरक्षित करता है।

Clinical relevance

प्रोग्राम विश्लेषण और सत्यापन उन उपकरणों को आधार प्रदान करते हैं जो बड़े पैमाने पर बग और सुरक्षा कमजोरियों का पता लगाते हैं, सुरक्षा-महत्वपूर्ण विमानन और ऑटोमोटिव सॉफ्टवेयर को प्रमाणित करते हैं, और मशीन-जाँच किए गए कंपाइलर और ऑपरेटिंग-सिस्टम कर्नेल का उत्पादन करते हैं। वे शुद्धता को परीक्षण-आधारित विश्वास से सिद्ध करने योग्य गारंटी में बदलते हैं।

History

डेटाफ्लो विश्लेषण 1970 के दशक में अनुकूलन कंपाइलरों के साथ उभरा, उसी दशक में कौसोट्स ने अमूर्त व्याख्या की शुरुआत की। मॉडल जाँच 1980 के दशक की शुरुआत में क्लार्क और एमर्सन द्वारा और स्वतंत्र रूप से क्विल और सिफाकिस द्वारा उत्पन्न हुई, बाद में ट्यूरिंग पुरस्कार अर्जित किया। 2000 के दशक में बड़े पैमाने पर औद्योगिक स्थैतिक विश्लेषण और मैकेनाइज्ड सत्यापन की सफलताएँ देखी गईं जैसे कि कंपकंपर्ट और एसईएल4।

Debates

विश्लेषणों की सुदृढ़ता बनाम व्यावहारिकता
उपकरण निर्माता इस बात पर बहस करते हैं कि क्या विश्लेषण पूरी तरह से सुदृढ़ होना चाहिए, सभी संभावित त्रुटियों की रिपोर्ट करना लेकिन कई झूठे अलार्म का जोखिम उठाना, या शोर और पैमाने को कम करने के लिए जानबूझकर अस्वस्थ होना चाहिए, एक तनाव जो औद्योगिक बग-खोज उपकरणों को आकार देता है।

Key figures

  • Patrick Cousot
  • Radhia Cousot
  • Edmund Clarke
  • E. Allen Emerson
  • Xavier Leroy

Related topics

Seminal works

  • cousot1977
  • clarke1986
  • leroy2009
  • nielson1999

Frequently asked questions

स्थैतिक विश्लेषण और सत्यापन में क्या अंतर है?
स्थैतिक विश्लेषण पूर्ण विशिष्टताओं के बिना अनुमानित गुणों (जैसे संभावित शून्य डीरेफरेंस) को स्वचालित रूप से अनुमानित करता है, जबकि सत्यापन यह साबित करता है कि एक प्रोग्राम एक सटीक औपचारिक विशिष्टता को संतुष्ट करता है, जिसमें आमतौर पर अधिक प्रयास की आवश्यकता होती है और मजबूत गारंटी मिलती है।
यदि शुद्धता अनिर्णयक्षमता है, तो विश्लेषण कैसे काम कर सकता है?
विश्लेषण ध्वनि सन्निकटन की गणना करके अनिर्णयक्षमता को दरकिनार करते हैं: वे कुछ संभावनाओं की रिपोर्ट कर सकते हैं जो वास्तव में नहीं हो सकती हैं, लेकिन वे उस संपत्ति के वास्तविक उल्लंघन को कभी नहीं छोड़ते हैं जिसकी वे पुष्टि करते हैं।

Methods for this concept

Related concepts