नियंत्रण प्रवाह विश्लेषण

कंप्यूटर विज्ञान में, नियंत्रण-प्रवाह विश्लेषण (सीएफए) एक प्रोग्राम के नियंत्रण प्रवाह को निर्धारित करने के लिए एक स्थिर कोड विश्लेषण|स्थैतिक-कोड-विश्लेषण तकनीक है। नियंत्रण प्रवाह को नियंत्रण-प्रवाह ग्राफ़ (सीएफजी) के रूप में व्यक्त किया जाता है। कार्यात्मक प्रोग्रामिंग भाषाओं और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं दोनों के लिए, सीएफए शब्द, और के-सीएफए जैसे विस्तार, विशिष्ट एल्गोरिदम को संदर्भित करते हैं जो नियंत्रण प्रवाह की गणना करते हैं।

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

यह स्पष्ट नहीं है कि यह किस प्रक्रिया का है  उल्लेख कर सकते हैं. नियंत्रण-प्रवाह विश्लेषण को इस बात पर विचार करना चाहिए कि इस अभिव्यक्ति को कहां लागू किया जा सकता है और संभावित लक्ष्यों को निर्धारित करने के लिए इसे क्या तर्क प्राप्त हो सकते हैं।

नियंत्रण-प्रवाह विश्लेषण के लिए अमूर्त व्याख्या, बाधा समाधान और प्रकार प्रणाली जैसी तकनीकों का उपयोग किया जा सकता है।

यह भी देखें

 * नियंत्रण-प्रवाह आरेख (सीएफडी)
 * डेटा-प्रवाह विश्लेषण
 * कार्टेशियन उत्पाद एल्गोरिथ्म
 * सूचक विश्लेषण

बाहरी संबंध

 * for textbook intraprocedural CFA in imperative languages
 * CFA in functional programs (survey)
 * for the relationship between CFA analysis in functional languages and points-to analysis in imperative/OOP languages