ControlFlag: एक कोड डिबगिंग टूल

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

पारंपरिक स्थैतिक विश्लेषक के विपरीत, ControlFlag पूर्वनिर्धारित नियम लागू नहीं करता है, जिसमें सभी संभावित विकल्पों की भविष्यवाणी करना मुश्किल है, बल्कि सभी प्रकार के निर्माणों के उपयोग के आंकड़ों का हिस्सा बड़ी संख्या में मौजूदा परियोजनाओं में भाषा।

शोध के अनुसार, कोड में बग ढूंढना और निकालना अक्सर मैन्युअल रूप से किया जाता है और डेवलपर्स के कार्य समय का 50% से अधिक समय लगता है। 

टूल इन शैलीगत विकल्पों को पहचानना और लेबल करना सीखता है, और आप बग पहचान को कस्टमाइज़ कर सकते हैं और अपने ज्ञान के आधार पर अनुशंसाओं को ठीक कर सकते हैं, ControlFlag खराब कोड लक्षण वर्णन को कम कर सकते हैं जो डेवलपर्स की दो टीमों के बीच एक शैलीगत विचलन हो सकता है। ।

कंट्रोलफ्लैग के बारे में

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

नतीजतन, एक संदर्भ निर्णय वृक्ष बनता है, जो सभी विश्लेषण किए गए स्रोत ग्रंथों के विकास के अनुभव को जोड़ता है। परीक्षण के तहत कोड के लिए पैटर्न को परिभाषित करने की एक समान प्रक्रिया की जाती है, जिसकी तुलना संदर्भ निर्णय वृक्ष से की जाती है। आसन्न शाखाओं के साथ बड़ी विसंगतियां उस पैटर्न में एक विसंगति का संकेत देती हैं जिसे सत्यापित किया जा रहा है।

विशेषताओं का वर्जन का ControlFlag 1.0, C टेम्प्लेट के लिए पूर्ण समर्थन पर प्रकाश डाला गया और पता लगाने की क्षमता सशर्त "अगर" बयानों में विसंगतियाँ।

उदाहरण के लिए, कोड स्निपेट को पार्स करते समय "if (x = 7) y = x;" सिस्टम यह पता लगाएगा कि निर्माण "चर == संख्या" का उपयोग आम तौर पर "अगर" कथन में संख्यात्मक मानों की तुलना करने के लिए किया जाता है, इसलिए "अगर" कथन में संकेत "चर = संख्या" संभवतः एक टाइपोग्राफ़िकल त्रुटि के कारण होता है।

किट एक स्क्रिप्ट प्रदान करता है जो GitHub पर उपलब्ध C रिपॉजिटरी को डाउनलोड करने की अनुमति देता है और एक मॉडल बनाने के लिए उनका उपयोग करें। रेडी-टू-गो मॉडल भी उपलब्ध हैं, जिससे आप तुरंत अपना कोड जांचना शुरू कर सकते हैं

प्रणाली मशीन प्रोग्रामिंग अनुसंधान परियोजना का हिस्सा है (एमपीआर) इंटेल से, जिसका मुख्य लक्ष्य ऑटोमेशन के कारण सॉफ्टवेयर विकास के लिए आवश्यक समय को 1000 गुना कम करना है।

विशेष रूप से, इंटेल वर्तमान में कंट्रोलफ्लैग को स्वचालित रूप से पहचानी गई त्रुटियों को ठीक करने के लिए प्रशिक्षित करने के लिए काम कर रहा है। इसके अलावा 2020 में, कंपनी ने एमआईटी प्रयोगशालाओं के संयोजन में विकसित एमआईएसआईएम टूल जारी किया, जो यह समझने के लिए कोड स्निपेट का अध्ययन कर सकता है कि कोड का एक टुकड़ा क्या करने की कोशिश कर रहा है। सिस्टम का उपयोग डेवलपर्स को कोड दक्षता में सुधार के तरीके प्रदान करने के लिए किया जाना है।

"डिबगिंग से डेवलपर्स और पूरे उद्योग को और भी अधिक नुकसान होने की उम्मीद है," इंटेल ने कहा। घोषणा… "जब पूरी तरह से लागू किया जाता है, तो ControlFlag परीक्षण, निगरानी और डिबगिंग जैसे सॉफ़्टवेयर विकास की परेशानी को स्वचालित करके इस चुनौती को कम करने में मदद कर सकता है।"

"पैटर्न पहचान के लिए ControlFlag के असुरक्षित दृष्टिकोण का मुख्य लाभ यह है कि आप अनिवार्य रूप से डेवलपर की शैली को अनुकूलित करना सीख सकते हैं। क्योंकि कार्यक्रम में नियंत्रण उपकरण तक सीमित इनपुट है जिसका आपको मूल्यांकन करने की आवश्यकता है। कंट्रोलफ्लैग प्रोग्रामिंग भाषाओं में टाइपोग्राफिक विविधताओं की पहचान उसी तरह कर सकता है जैसे पाठक शब्दों के बीच पूर्ण अंतर को पहचान सकते हैं और अंग्रेजी संक्षेपों का उपयोग कर सकते हैं, "इंटेल लिखता है।

अंत में यदि आप इसके बारे में अधिक जानने में रुचि रखते हैं ControlFlag के बारे में आपको पता होना चाहिए कि यह C++ में लिखा गया है और MIT लाइसेंस और इसके कोड के तहत ओपन सोर्स है GitHub पर होस्ट किया गया है।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।