Cppcheck
Cppcheck هي أداة لتحليل الكود الثابت للغتي البرمجة C و C++ . وهي أداة متعددة الاستخدامات قادرة على فحص الكود غير القياسي. [ 2 ] مبتكرها ومطورها الرئيسي هو دانيال مارجامكي.
Cppcheck هو برنامج مفتوح المصدر ، حيث أن الكود الأساسي الخاص به مفتوح المصدر بموجب رخصة جنو العمومية العامة .
سمات
يدعم Cppcheck مجموعة واسعة من الفحوصات الثابتة التي قد لا يغطيها المُصرّف نفسه. هذه الفحوصات هي فحوصات تحليلية ثابتة يمكن إجراؤها على مستوى الكود المصدري. يركز البرنامج على فحوصات التحليل الثابت الدقيقة، بدلاً من الفحوصات الاستدلالية .
تتضمن بعض عمليات التحقق المدعومة ما يلي:
- التحقق التلقائي من المتغيرات
- التحقق من حدود المصفوفة لتجنب تجاوزات المصفوفة
- فحص الفئات (مثل الدوال غير المستخدمة، وتهيئة المتغيرات، وتكرار الذاكرة)
- استخدام الوظائف المهملة أو المستبدلة وفقًا لمجموعة Open Group [ 3 ]
- التحقق من سلامة الاستثناءات، على سبيل المثال استخدام تخصيص الذاكرة وفحوصات المدمرات
- تسرب الذاكرة ، على سبيل المثال بسبب فقدان النطاق دون إلغاء التخصيص
- تسريبات الموارد ، على سبيل المثال بسبب نسيان إغلاق مؤشر ملف
- استخدام غير صحيح لوظائف ومصطلحات مكتبة القوالب القياسية
- إزالة التعليمات البرمجية غير المستخدمة باستخدام خيار unusedFunction
- أخطاء أسلوبية وأدائية متنوعة
كما هو الحال مع العديد من برامج التحليل، توجد حالات غير مألوفة لأساليب البرمجة التي قد تكون مقبولة في حالات مستهدفة معينة أو خارج نطاق صلاحيات المبرمج لتصحيح شفرة المصدر. حددت دراسة أُجريت في مارس 2009 عدة مجالات رصد فيها برنامج Cppcheck نتائج إيجابية خاطئة، لكنها لم تُحدد إصدار البرنامج الذي تم فحصه. [ 4 ] وقد تم تحديد استخدام Cppcheck في أنظمة مثل حزمة التحليل الفوقي 4DSOFT التابعة لسيرن ، [ 5 ] وللتحقق من الشفرة في أجهزة قراءة كاشفات الجسيمات عالية الطاقة، [ 6 ] وبرامج مراقبة الأنظمة للتلسكوبات الراديوية، [ 7 ] بالإضافة إلى تحليل الأخطاء في المشاريع الكبيرة، مثل OpenOffice.org [ 8 ] وأرشيف دبيان . [ 9 ]
تطوير
المشروع قيد التطوير النشط [ 10 ] ويتم صيانته بانتظام في مختلف توزيعات لينكس. [ 11 ] [ 12 ] وقد اكتشف المشروع أخطاءً برمجيةً في عدد من المشاريع الشائعة [ 13 ] مثل نواة لينكس و MPlayer . [ 14 ]
الإضافات
توجد إضافات لبيئات التطوير المتكاملة أو محررات النصوص التالية [ 15 ]
انظر أيضاً
مراجع
- ↑ "الإصدار 2.21.0" . 4 يونيو 2026. تم الاطلاع عليه في 5 يونيو 2026 .
- ↑ "دراسة استقصائية لأدوات برمجيات C و C++ للعلوم الحاسوبية" (ملف PDF) . مجلس مرافق العلوم والتكنولوجيا . مختبرات تشيلبورتون، وداريسبري، وروذرفورد أبليتون. ديسمبر 2009. ص 14. مؤرشف من الأصل (ملف PDF) في 12 مارس 2012. تم الاطلاع عليه في 14 سبتمبر 2010 .
- ↑ "واجهات النظام" . pubs.opengroup.org . تم الاطلاع عليه بتاريخ 24-09-2020 .
- ↑ "تحليل الكود الثابت للأنظمة المدمجة" (PDF) .
- ↑ "خطة نشر واستخدام المعرفة (النسخة النهائية) - مخرجات الاتحاد الأوروبي DNA2.11" (ملف PDF) . 2010. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 4 يونيو 2013. تم الاطلاع عليه بتاريخ 15 سبتمبر 2010 .
- ↑ "Entwurf und Implementierung einesadaptiven, strahlentoleranten eingebetteten Systems am Beispiel eines Read-Out-Controllers (En: تطوير وتنفيذ نظام مدمج متكيف ومتسامح مع الإشعاع لتشغيل وحدة تحكم القراءة)" (PDF) . 2010 مؤرشفة من الأصلي (PDF) بتاريخ 2012-03-11.
- ↑ "مفهوم نظام ويتزل للمراقبة وأولى تطبيقاته" (ملف PDF) . الخدمة الدولية لتقنية VLBI للجيوديسيا وعلم الفلك. 2010. ص 447.
- ↑ "البحث عن الثغرات الأمنية في البرامج الكبيرة : مجموعة أوبن أوفيس" (ملف PDF) . مؤرشف من الأصل (ملف PDF) بتاريخ 28-09-2012 . تم الاطلاع عليه بتاريخ 15-09-2010 .
- ↑ "تقديم مشروع "تحليل الكود الآلي لنظام دبيان" (DACA)" . LWN.net.
- ↑ Cppcheck على جيت هاب
- ↑ Cppcheck على نظام تتبع الحزم الخاص بـ Debian
- ↑ منفذ FreeBSD
- ↑ "قائمة الأخطاء التي أبلغ عنها المستخدمون والتي تم العثور عليها بواسطة cppcheck" .
- ↑ "قائمة الأخطاء المكتشفة" . سورس فورج . مؤرشف من الأصل بتاريخ 14-10-2013.
- ↑ "SourceForge.net: cppcheck" . sourceforge.net .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "ملحق cppcheck لـ CLion" . plugins.jetbrains.com .
- ↑ "Cppcheclipse" . github.com .
- ↑ "Flycheck" . github.com .
- ↑ "تحرير البرنامج المساعد Cppcheck" . جيثب.كوم .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "ملحق Cppcheck" . hudson-ci.org . مؤرشف من الأصل بتاريخ 26-10-2017 . تم الاطلاع عليه بتاريخ 15-09-2010 .
- ↑ "ملحق Cppcheck" . jenkins-ci.org . 20 مايو 2022.
- ↑ كولمان، كريستوف (2013-02-02). "أخبار إضافات مشروع كيت - تحليل الكود" . كيت | احصل على ميزة في التحرير . تم الاسترجاع في 2016-12-14 .
- ↑ فانك، كيفن (2016-12-06). "تم دمج إضافة Cppcheck الخاصة بـ KDevelop في kdevelop.git، وسيتم إصدارها مع الإصدار 5.1" . تم الاطلاع عليه بتاريخ 2016-12-14 .
- ↑ "معرض إضافات Qt Creator" . ويكي Qt .
- ↑ "ملحق Sublimelinter" . github.com .
- ↑ "إضافة Cppcheck" . سوق Visual Studio .
- ↑ VioletGiraffe. "الصفحة الرئيسية cppcheck-vs-addin" . GitHub . تم الاطلاع عليه في 3 مارس 2014 .
- ↑ سريكس. "أداة تحليل ثابتة بسيطة مفتوحة المصدر لـ Visual Studio" . مؤرشفة من الأصل بتاريخ 10 فبراير 2015. تم الاطلاع عليها بتاريخ 27 أغسطس 2012 .
- ↑ سكوفيتّا، مايكل. "ياسكا" .
روابط خارجية
- برامج مجانية متعددة المنصات
- برنامج مجاني مكتوب بلغة C++
- أدوات اختبار البرمجيات المجانية
- برنامج يستخدم رخصة جنو العمومية العامة
- أدوات تحليل البرامج الثابتة
