दिलचस्प पोस्ट
स्प्रिंग सुरक्षा 3.2 बहुभाषी अनुरोधों के लिए CSRF समर्थन क्या अस्थिर हैशप कुंजी एक खतरनाक अभ्यास है? कैसे jQuery में चयन करते समय DOM तत्वों को सॉर्ट करने के लिए? फ़ाइल प्रकार के द्वारा विम इंडेंटेन्टेशन व्यवहार बदलना निर्मित प्रकारों का प्रदर्शन: चार बनाम लघु vs बनाम बनाम फ्लोट बनाम डबल सेलेनियम को वेब चालक का उपयोग कर अस्थायी फ़ायरफ़ॉक्स प्रोफाइल बनाने से कैसे रोकें? Angular.js नहीं 'प्रवेश-नियंत्रण-अनुमति-उत्पत्ति' हेडर अनुरोधित संसाधन पर मौजूद है। इसलिए उत्पत्ति की 'रिक्त' की अनुमति नहीं है एंड्रॉइड ट्यूटोरियल में अधिकांश फ़ील्ड (क्लास सदस्य) `एम` के साथ क्यों शुरू होते हैं? जाव बराबर (ओवरराइडिंग) विधि की बोली संग्रह को सरणी में बदलने का सबसे आसान तरीका? हमें पायथन (या कोई अस्थायी डेटा प्रकार) में ट्यूपल्स की आवश्यकता क्यों है? ViewPager पेजर एडाप्टर दृश्य को अपडेट नहीं कर रहा है आरएसएस फ़ीड पढ़ने के लिए सरल एक्सएमएल का उपयोग करना PHP MySQLI रोकें SQL इंजेक्शन जावा स्टैक आकार को कैसे बढ़ाएं?

क्या खुला स्रोत सी ++ स्थिर विश्लेषण उपकरण उपलब्ध हैं?

जावा में कुछ बहुत अच्छा ओपन सोर्स स्थिर विश्लेषण टूल हैं जैसे कि FindBugs , Checkstyle और PMD उन उपकरणों का उपयोग करना आसान है, बहुत उपयोगी है, कई ऑपरेटिंग सिस्टम पर चलाता है और मुफ्त

व्यावसायिक सी ++ स्टैटिक विश्लेषण उत्पादों के विक्रेताओं Klocwork , Gimpel और Coverity से उपलब्ध हैं। इसके अलावा वहां कम ज्ञात पीवीएस स्टूडियो विश्लेषक भी है। यद्यपि ऐसे उत्पादों के लिए बहुत अच्छा है, लागत छात्रों के लिए बहुत ज्यादा है और यह आम तौर पर परीक्षण संस्करण प्राप्त करना कठिन नहीं है।

विकल्प ओपन सोर्स सी ++ स्टैटिक विश्लेषण टूल को खोजना है जो कई प्लेटफार्मों (विंडोज और यूनिक्स) पर चलेंगे। एक खुले स्रोत उपकरण का उपयोग करके, यह कुछ आवश्यकताओं को फिट करने के लिए संशोधित किया जा सकता है उपकरण ढूंढना आसान काम नहीं है।

नीचे सी ++ स्टैटिक विश्लेषण टूल की एक छोटी सूची है जो दूसरों के द्वारा पाए गए या सुझाए गए थे।

  • सी ++ चेक http://sf.net/projects/cppcheck/
  • ओंक http://danielwilkerson.com/oink/index.html
  • सी और सी ++ काउंटर http://sourceforge.net/projects/cccc/
  • स्प्लिट (उत्तर से)
  • मोज़िला के पोर्क (उत्तर से) (यह अब ओंक का हिस्सा है)
  • मोज़िला के डीहाद्रा (उत्तर से)
  • जीएनयू जी ++ (उत्तर से) के लिए विकल्प का उपयोग -Weffc++

कुछ अन्य पोर्टेबल ओपन सोर्स सी ++ स्टैटिक विश्लेषण टूल क्या हैं जिन्हें किसी को भी पता है और इसकी सिफारिश की जा सकती है?

कुछ संबंधित लिंक

  • विंडोज पर सी + + स्थिर कोड विश्लेषण उपकरण
  • http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis
  • http://www.chris-lott.org/resources/cmetrics/
  • कोडिंग मानकों के एक सेट के खिलाफ सी / सी ++ स्रोत कोड की जांच करने के लिए एक नि: शुल्क उपकरण?
  • http://spinroot.com/static/
  • एक स्थिर कोड विश्लेषण उपकरण चुनना

वेब के समाधान से एकत्रित समाधान "क्या खुला स्रोत सी ++ स्थिर विश्लेषण उपकरण उपलब्ध हैं?"

ओंक एल्सा सी + + फ़्रंट-एंड के शीर्ष पर बनाया गया टूल है मोज़िला के पोर्क एल्सा / ओंक का एक कांटा है

देखें: http://danielwilkerson.com/oink/index.html

CppCheck खुला स्रोत और क्रॉस-प्लेटफॉर्म है।

मैक ओएस एक्स:

 brew install cppcheck 

जीएनयू संकलक के संबंध में, जीसीसी पहले से ही एक बिल्टिन विकल्प है जो उन लोगों के लिए अतिरिक्त चेतावनी को सक्षम बनाता है विकल्प है -विफ्क्र ++ और यह स्कॉट मेयेर के कुछ दिशानिर्देशों के उल्लंघन के बारे में है जो कि " प्रभावी और अधिक प्रभावी सी ++ " में प्रकाशित है।

विशेष रूप से निम्न आइटम का पता लगाया गया विकल्प:

  • डायनामिक रूप से आवंटित स्मृति वाले वर्गों के लिए प्रतिलिपि कन्स्ट्रक्टर और असाइनमेंट ऑपरेटर को परिभाषित करें
  • कंस्ट्रक्टरों में असाइनमेंट के लिए आरंभीकरण को प्राथमिकता देता है।
  • आधार वर्गों में डिस्ट्रक्टर्स वर्चुअल बनाओ
  • "ऑपरेटर =" के लिए एक संदर्भ वापस करें *
  • कोई संदर्भ वापस करने का प्रयास न करें जब आपको किसी ऑब्जेक्ट को वापस करना चाहिए।
  • उपसर्ग और वृद्धि दर और घटते ऑपरेटरों के पोस्टफिक्स फॉर्म के बीच अंतर।
  • कभी भी अधिभार "&&", "||", या ","

अब के लिए विकास के तहत, लेकिन झगड़ा सी विश्लेषण करता है और समय के साथ सी ++ को संभालने के लिए लक्षित है। यह एलएलवीएम प्रोजेक्ट का हिस्सा है।

अद्यतन : लैंडिंग पृष्ठ का कहना है कि "विश्लेषक एक सतत कार्य-प्रगति है", फिर भी अब इसे सी और सी ++ दोनों के लिए एक स्थिर विश्लेषक के रूप में दर्ज़ किया गया है।

प्रश्न: मैं स्थिर विश्लेषण के लिए जीसीसी / क्लेंग कैसे चला सकता हूं? (चेतावनी केवल)

कंपाइलर विकल्प: -फ़िसेनटेक्स-केवल

किसी और ने उल्लेख किया है – वेफ़सी ++, लेकिन यह वास्तव में केवल जीसीसी चेतावनियों में से एक है, मैं डिफ़ॉल्ट रूप से चालू नहीं करता है हालांकि, मेरे किट में जो चेतावनियां चालू होती हैं वह सबसे महत्वपूर्ण स्थैतिक विश्लेषण उपकरण है। आप अनुशंसित चेतावनियों की पूरी सूची देख सकते हैं।

संक्षेप में:

-पैराकिल -पॉल -विच्छे -विवाह-संरेखित करें -वेस्ट -वेक्टर-डीटीओआर-गोपनीयता -विस्ड-ऑप्टिमाइज़ेशन -वॉर्माैट = 2 -विनिट-आत्म -विस्सल-सेशन -विवाह-घोषणाएं -विवाह-शामिल-डायर -विनो एक्ससेप्ट -वॉल्ड -स्टाइल-कास्ट -वॉवर्ड लोड-वर्चुअल -ड्राउन्ड-डिक्स्ड -वेस्डो -स्सिइन-कन्वर्ज़न -सॉग्नि-प्रोमो -विरिक्ट-रिक-प्रहरी -विस्तृत-ओवरफ्लो = 5 -विस्विच-डिफॉल्ट -वांडफे -वेर -विनो-अप्रयुक्त

ध्यान दें कि इनमें से कुछ को जीसीसी के एक नए संस्करण की आवश्यकता होती है, इसलिए आपको उन्हें 4.5 या उससे कुछ के पीछे फंसने पर उन्हें अपनी सूची से समाप्त करना पड़ सकता है

जॉन कार्मेक ने "स्टेटिक कोड विश्लेषण" पर इस दिलचस्प ब्लॉग पोस्ट में पीवीएस-स्टूडियो का भी उल्लेख किया है।

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

नमूना सीपीपी / सीएल विश्लेषण करें

मोज़िला के स्थैतिक विश्लेषण का काम संभवतः एक नजर है

स्प्लिट सी के लिए बिल भरने लगता है

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

मैक ओएस एक्स:

 brew install splint 

माइक्रोसॉफ्ट के प्रीफास्ट विंडोज ड्राइवर किट में भी उपलब्ध है। संस्करण 7.0 यहां डाउनलोड हो रहा है ।

माइक्रोसॉफ्ट डॉक्स बताता है कि इसे केवल ड्राइवर कोड के विरुद्ध चलाना चाहिए लेकिन यह (पुराने) ब्लॉग पोस्ट इसे चलाने के लिए कदम उठाता है शायद यह एक सामान्य निर्माण प्रक्रिया में एकीकृत किया जा सकता है?

हम मीट्रिकेटर नामक एक एक्लिप्स सीडीटी प्लग-इन पर काम कर रहे हैं। इसकी अभी भी विकास के तहत है, लेकिन कुछ प्रमुख मीट्रिक (उदाहरण के लिए एलएसओओएलसी, मैकके, एफ़िफ़िक कॉपलिंग) पहले ही लागू हो चुके हैं।

वीडियो प्रदर्शन और प्रलेखन जैसे अधिक विवरणों के लिए http://sinv-56013.edu.hsr.ch/redmine/projects/metricular/wiki/Documentation देखें।

नवीनतम रात निर्माण अद्यतन साइट के माध्यम से स्थापना के लिए उपलब्ध है: http://sinv-56013.edu.hsr.ch/metriculator/updatesite-nightly/site/

आगे का विवरण

मेट्रिकुलेटर स्टेटिक विश्लेषण सी ++ स्रोत कोड और सॉफ्टवेयर मैट्रिक्स उत्पन्न करता है। मेट्रिक्स को कोडन चेकर्स के रूप में लागू किया जाता है। विश्लेषण परिणामों का एक अलग दृष्टिकोण में पता लगाया जा सकता है। प्रत्येक मीट्रिक में कॉन्फ़िगर करने योग्य गुण हैं (जैसे 'प्रति फ़ंक्शन कोड की अधिकतम पंक्ति' के लिए एक सीमा) इन सीमाओं से अधिक एक समस्या की रिपोर्ट करेगा और स्रोत कोड एडिटर में एक मार्कर बनाएगा।

मीट्रिकेटर के साथ आप यह कर सकते हैं:

  • सी ++ फाइल / फ़ोल्डर्स / परियोजनाओं का विश्लेषण
  • मेट्रिक थ्रेसहोल्ड को परिभाषित करें और Codans वरीयता पृष्ठ का उपयोग करके मीट्रिक सक्षम / अक्षम करें
  • स्रोत कोड संपादकों में समस्या मार्कर हैं
  • मीट्रिक परिणाम एक्सप्लोर करें
  • टैग मेघ के रूप में निर्यात मीट्रिक परिणाम (अद्यतन साइट के माध्यम से वैकल्पिक सुविधा के रूप में उपलब्ध)

वर्तमान में मीट्रिकेटर निम्नलिखित मैट्रिक्स के साथ आता है:

  • मैकेबे (साइलैक्लैमेटिक कॉम्प्लिसीटी)
  • प्रति प्रकार इफेरिक कूप्लिंग
  • कोड की तार्किक स्रोत रेखाएं
  • प्रकार प्रति सदस्यों की संख्या
  • प्रति फ़ंक्शन के पैरामीटर की संख्या

आपको ओओ-ब्राउज़र की कोशिश करनी चाहिए जिसमें एक्सएमएक्स के साथ भयानक एकीकरण है

कोई कस्टम विश्लेषण करने के लिए MELT (जीसीसी विस्तार करने के लिए डिज़ाइन किया गया एक डोमेन विशिष्ट भाषा) या सी (बहुत कठिन) में जीसीसी प्लग इन में जीसीसी के कोड एक्सटेंशन भी कर सकता है।

Doxygen कुछ नियंत्रण प्रवाह विश्लेषण करता है और ग्राफ़ उत्पन्न करता है। हो सकता है कि आप जो खोज रहे हों, वह न हो, लेकिन मैंने उन्हें देखने के लिए उपयोगी बना दिया है।