قائمة أدوات تحليل الكود الثابت
هذه قائمة بالأدوات البارزة لتحليل البرامج الثابتة (تحليل البرامج هو مرادف لتحليل التعليمات البرمجية).
أدوات تحليل الشفرة الثابتة
| أداة | أحدث إصدار | برامج مجانية | اللغات المدعومة | ملحوظات | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| آدا | سي ، سي++ ، سي# ، أوبجكتيف-سي | JVM | جافا سكريبت ، تايب سكريبت | .NET ، VB.NET | بايثون | لغات أخرى | ||||
| أستري | 2024-10 (24.10) | لا؛ ملكية خاصة | — | لغة C، لغة C++ | — | — | — | — | — | يكتشف جميع أخطاء وقت التشغيل المحتملة وحالات تضارب البيانات من خلال التفسير المجرد، ويمكنه إثبات عدم وجودها والتأكيدات الوظيفية؛ مصمم خصيصًا لبرامج C وC++ ذات الأهمية البالغة للسلامة (مثل إلكترونيات الطيران والسيارات)؛ يتضمن مدقق MISRA |
| مجموعة أكسيفيون | 2025-05-19 (7.10) | لا؛ ملكية خاصة | — | سي، سي++، سي# | — | — | — | — | QML، Axivion CUDA | مجموعة أدوات تحليل الشفرة الثابتة مصممة لتطوير البرمجيات الحساسة للسلامة والأمن، مع دعم شهادات ISO 26262 وIEC 61508 وIEC 62304 وEN 50128 وEN 50657؛ يشمل التحليل الشامل الامتثال لمعايير البرمجة (MISRA C/C++ وAUTOSAR وCERT وCWE)، واكتشاف التكرار، وتحليل الشفرة غير المستخدمة، والتحقق من بنية البرنامج، واكتشاف دورات المعالجة، ومراقبة المقاييس؛ تتضمن مجموعة أدوات تأهيل للبيئات الخاضعة للتنظيم كما هو الحال في صناعات السيارات والفضاء والأجهزة الطبية والأمن |
| بلاست (متقاعد) | 2015-10-30 (2.7.3) | نعم؛ لغة الإشارة الأمريكية 2 | — | ج | — | — | — | — | — | مدقق نماذج البرمجيات مفتوح المصدر لبرامج C يعتمد على التجريد الكسول (المشروع اللاحق هو CPAchecker [ 1 ] ) |
| صوت رنين | 2026-07-17 ( 22.1.8 ) | نعم؛ ASL 2 مع استثناءات LLVM | — | سي، سي++، أوبجكتيف سي | — | — | — | — | — | مترجم مفتوح المصدر يتضمن محللًا ثابتًا، اعتبارًا من الإصدار 3.2، تم تضمين المحلل في Xcode [ 2 ] [ 3 ] |
| كوكينيل | 2021-09-06 (1.1.1) | نعم؛ رخصة جنو العمومية الإصدار الثاني | — | ج | — | — | — | — | — | مطابقة أنماط الشفرة المصدرية مفتوحة المصدر وتحويلها |
| Code Dx (متوقف عن العمل 2021) | 15-01-2015 | لا؛ ملكية خاصة | — | سي، سي++، سي# | جافا ، جي إس بي ، سكالا | جافا سكريبت | VB.NET | بايثون | PHP، Rails، Ruby، XML [ 4 ] | نظام ربط وإدارة ثغرات تطبيقات البرمجيات؛ يستخدم أدوات SAST و DAST متعددة ، ونتائج مراجعات التعليمات البرمجية اليدوية؛ ويمكنه حساب التعقيد الحلقي |
| كود بير | 2021-05-07 (21) | لا؛ ملكية خاصة | آدا | — | — | — | — | — | — | أداة تحليل ثابتة متقدمة؛ تكشف عن أخطاء منطقية محتملة أثناء تشغيل برامج Ada |
| مشهد الكود | 2023-10-13 (6.3.5) | لا؛ ملكية خاصة | — | سي، سي++، سي#، أوبجكتيف-سي | جافا، جروفي ، سكالا | جافا سكريبت، تايب سكريبت | VB.NET | بايثون | سويفت، جو، بي إتش بي، روبي | تحليل سلوكي للبرمجيات؛ يساعد في تحديد أولويات الديون التقنية وإدارتها؛ يقيس الجوانب التنظيمية لفرق المطورين؛ عمليات دمج طلبات السحب الآلية |
| كود كيو إل | 2026-02-05 (CLI: 2.24.1) | لا؛ ملكية خاصة | — | سي، سي++، سي# | جافا، كوتلين | جافا سكريبت، تايب سكريبت | .شبكة | بايثون | سويفت، جو، روبي، راست | أداة بحث في التعليمات البرمجية، تركز على اكتشاف أخطاء البرامج؛ أنماط بحث مكتوبة بلغة استعلام يمكنها البحث في شجرة بناء الجملة المجردة (AST) والرسوم البيانية (CFG، DFG، إلخ) للغات المدعومة؛ إضافة متاحة لبرنامج Visual Studio Code |
| ConQAT (متقاعد) | 2015-02-01 | نعم؛ لغة الإشارة الأمريكية 2 | آدا | سي شارب، سي ++ | جافا | جافا سكريبت | — | — | ABAP | مجموعة أدوات التقييم المستمر للجودة؛ تتيح تكوينًا مرنًا لتحليلات الجودة (مطابقة البنية، واكتشاف النسخ المتماثلة، ومقاييس الجودة، وما إلى ذلك) ولوحات المعلومات. |
| كسرتي | 2023-04-29 (2022.12) [ 5 ] | لا؛ ملكية خاصة | — | سي، سي++، سي#، أوبجكتيف-سي | جافا | جافا سكريبت، تايب سكريبت | — | بايثون | روبي، بي إتش بي | أداة متعددة اللغات لمعالجة قضايا الأمن والجودة؛ تدعم معايير الامتثال ( MISRA ، ISO 26262 وغيرها)؛ استخدام مجاني للمشاريع مفتوحة المصدر |
| إكلير | 2025-05-12 (3.14.0) [ 6 ] | لا؛ ملكية خاصة | — | لغة C، لغة C++ | — | — | — | — | — | أداة متعددة اللغات للتحقق من البرمجيات. تتراوح تطبيقاتها من التحقق من صحة قواعد البرمجة، إلى التوليد التلقائي لحالات الاختبار، إلى إثبات خلو البرنامج من أخطاء وقت التشغيل أو توليد أمثلة مضادة، وصولاً إلى تحديد أدوات مطابقة وإعادة كتابة التعليمات البرمجية بناءً على الشروط النحوية والدلالية. تدعم معايير الامتثال ( MISRA ، ومعيار برمجة C المضمنة ، وغيرها). |
| مدقق المحاسبين المعتمدين | 2022-01-24 (2.1.1) | نعم؛ لغة الإشارة الأمريكية 2 | — | ج | — | — | — | — | — | أداة قابلة للتكوين للتحقق من البرامج لفحص مسار تنفيذ لغة C |
| Cppcheck | 2025-02-23 (2.17) | جزئياً؛ الإطار مرخص بموجب رخصة جنو العمومية الإصدار 3 ، مع بعض الميزات الخاصة. | — | لغة C، لغة C++ | — | — | — | — | — | أداة مفتوحة المصدر؛ تتحقق من عدة أنواع من الأخطاء، بما في ذلك استخدام مكتبة STL ؛ ويجري إضافة دعم MISRA |
| Cppdepend | 2023-03-01 (2023.1) [ 7 ] | لا؛ ملكية خاصة | — | لغة C، لغة C++ | — | — | — | — | — | يبسط إدارة قاعدة بيانات معقدة بلغة C/C++ من خلال تحليل وتصور تبعيات التعليمات البرمجية، وتحديد قواعد التصميم، وإجراء تحليل التأثير ، ومقارنة الإصدارات المختلفة من التعليمات البرمجية. |
| قسطرة | 2020-07-29 | نعم؛ CC-BY-3.0 [ 8 ] | — | لغة سي++ | — | — | — | — | — | أداة مفتوحة المصدر؛ تتحقق من التوافق مع دليل أسلوب كتابة كود C++ من جوجل |
| تقلب | 2001 | لا؛ ملكية خاصة | Ada95 | ج | — | — | — | — | — | مترجم تجريدي للتحقق من صحة الخصائص العددية للبرنامج |
| هجمات السوائل | 2026-01-07 | لا؛ ملكية خاصة | — | سي شارب | جافا، كوتلين، سكالا | جافا سكريبت، تايب سكريبت | — | بايثون | PHP، Dart، Go، HCL، HTML، JSON، Ruby، Swift، XML، YAML | أداة SAST؛ تدعم العديد من لغات البرمجة وأطر العمل؛ تعتمد على خوارزميات الرسوم البيانية باستخدام Tree-sitter، ويمكن دمجها في مسارات CI/CD من مزودي الخدمات الذين يدعمون Docker |
| فراما-سي | 2022-06-21 | نعم؛ رخصة LGPL الإصدار 2.1 ، ورخصة BSD ، ورخصة QPL | — | ج | — | — | — | — | — | إطار تحليل مفتوح المصدر وقابل للتوسيع للغة C، يتضمن العديد من المحللات ولغة مواصفات مشتركة بينها جميعًا؛ ويشمل تحليلات تستند إلى التفسير المجرد والتحقق الاستنتاجي ومراقبة وقت التشغيل. |
| GrammaTech CodeSonar | 2020-06-01 (5.3) | لا؛ ملكية خاصة | — | سي، سي++، أوبجكتيف سي | جافا | — | — | — | — | اكتشاف العيوب (تجاوزات المخزن المؤقت، تسرب الذاكرة، إلخ)، وفحوصات التزامن والأمان، وتصور بنية النظام، ومقاييس البرمجيات |
| مجلس التعاون الخليجي | 2023-4-26 (13.1) | نعم؛ رخصة GPLv3+ مع استثناء مكتبة وقت تشغيل GCC | — | ج | — | — | — | — | — | يؤدي التجميع باستخدام علامة -fanalyzer (المتوفرة من GCC 10) إلى تمكين وظيفة المحلل الثابت [ 9 ]. |
| مصدر HCL Security AppScan | 2020-12-01 (10.0.3) | لا؛ ملكية خاصة | — | لغة C، لغة C++ | جافا، JSP | جافا سكريبت | .شبكة | بايثون | ColdFusion، ASP، PHP، Perl، Visual Basic 6، PL/SQL، T-SQL، COBOL | يقوم بتحليل شفرة المصدر لتحديد الثغرات الأمنية مع دمج اختبار الأمان مع عمليات وأنظمة تطوير البرمجيات |
| هيليكس كيو إيه سي | 2023-04 (2023.1) | لا؛ ملكية خاصة | — | لغة C، لغة C++ | — | — | — | — | — | كانت تُعرف سابقًا باسم PRQA QA·C و QA·C++، وهي عبارة عن تحليل ثابت معمق للغة C/C++ لضمان الجودة وإنفاذ المبادئ التوجيهية/معايير البرمجة بدعم من MISRA |
| محلل الاستدلال الثابت | 2026-05-12 ( 1.3.0 ) | نعم؛ معهد ماساتشوستس للتكنولوجيا | — | سي، سي++، أوبجكتيف سي | جافا | — | — | — | — | يستهدف هذا البرنامج مشاكل المؤشرات الفارغة، والتسريبات، ومشاكل التزامن، واستخدام واجهة برمجة التطبيقات لتطبيقات فيسبوك على الأجهزة المحمولة، وهو متاح كمصدر مفتوح على GitHub؛ ويُطلق عليه أحيانًا اسم Facebook Infer |
| إيماجيكس رباعي الأبعاد | 2020-10-01 (10.1.0) | لا؛ ملكية خاصة | — | لغة C، لغة C++ | جافا | — | — | — | — | إصدارات ويندوز ولينكس |
| كيوان | 2020-07-22 | لا؛ ملكية خاصة | — | سي، سي++، سي#، أوبجكتيف-سي | جافا، JSP | جافا سكريبت | VB.NET | — | ABAP، COBOL، PHP، PL/SQL ، T-SQL ، SQL، Visual Basic، Android | منصة تحليل برمجيات شاملة لتحليل الكود الثابت ومراجعة الكود الآلية؛ تغطي اكتشاف العيوب، وأمن التطبيقات، وإدارة مخاطر تكنولوجيا المعلومات، مع ميزات محسّنة لإدارة دورة حياة التطبيقات وحوكمتها؛ تدعم أكثر من 20 لغة برمجة. |
| كلوورك | 2023-04-04 (2023.1) | لا؛ ملكية خاصة | — | سي، سي++، سي# | جافا | جافا سكريبت | — | بايثون | كوتلين | يوفر هذا النظام معلومات حول الثغرات الأمنية، والامتثال للمعايير (MISRA، ISO 26262 وغيرها)، واكتشاف العيوب، وتحليل اتجاهات البناء المتكرر. |
| الوبر | 26-07-1978 | نعم؛ نظام تشغيل متساهل يشبه نظام BSD [ 10 ] | — | ج | — | — | — | — | — | محلل الشفرة الثابتة الأصلي للغة C، والذي يعود تاريخه إلى عام 1978 |
| مالباس | لا؛ ملكية خاصة | آدا | ج | — | — | — | — | باسكال، لغة التجميع (إنتل، باور بي سي، وموتورولا) | مجموعة أدوات تحليل ثابتة للبرمجيات للعديد من اللغات؛ الاستخدام الرئيسي لها هو في مجال السلامة الحرجة في الصناعات النووية والفضائية | |
| ميجالينتر | 2026-05-16 (9.5.0) | نعم؛ AGPLv3 | — | لغة C، لغة C++ | جافا، كوتلين، سكالا، جروفي | جافا سكريبت، تايب سكريبت | .NET، VB.NET | بايثون | Go، PHP، Ruby، Rust، Swift، Bash، Dockerfile، YAML، JSON، XML، HTML، CSS، Markdown، Terraform، Ansible، Salesforce، ARM، Bicep، Kubernetes، GraphQL، PowerShell، Perl، Lua، R، Tekton، Snakemake، OpenAPI، Protobuf، Coffee، EditorConfig، ENV، Gherkin، Puppet، RST، SQL | أداة مفتوحة المصدر تجمع أكثر من 100 أداة لتحليل وتنسيق التعليمات البرمجية، والبنية التحتية كبرنامج، والتكوين، واكتشاف النسخ واللصق، والتدقيق الإملائي عبر أكثر من 50 لغة وتنسيقًا وأداة؛ تعمل كحاوية Docker أو في بيئة التكامل المستمر/التسليم المستمر (CI/CD)؛ تدعم الإصلاح التلقائي، وإخراج بيانات SARIF، وتُنتج تقارير لـ GitHub و GitLab و Azure DevOps و Bitbucket وغيرها. |
| موس | 2021-01-21 (7.0.3) | نعم؛ معهد ماساتشوستس للتكنولوجيا | — | لغة C، لغة C++ | جافا | — | .شبكة | — | أحاديث قصيرة | بدأت كمنصة لتحليل البرمجيات مزودة بالعديد من الأدوات لمعالجة البرمجيات أو تقييمها أو تصورها؛ ثم تطورت إلى منصة تحليل بيانات أكثر عمومية |
| معتمد | 2022-03-16 (2022.1) [ 11 ] | لا؛ ملكية خاصة | — | سي شارب | — | — | VB.NET .NET | — | — | يُسهّل إدارة قاعدة بيانات أكواد .NET المعقدة من خلال تحليل وتصور تبعيات الكود، وتحديد قواعد التصميم، وإجراء تحليل التأثير، ومقارنة الإصدارات المختلفة؛ ويتكامل مع Visual Studio |
| منصة تجميع .NET ( Roslyn ) | 2020-12-08 ( 3.8.0 ) | نعم؛ معهد ماساتشوستس للتكنولوجيا | — | سي شارب | — | — | VB.NET | — | — | إطار عمل مُترجم مفتوح المصدر للغة C# و Visual Basic (.NET) طورته شركة Microsoft .NET، يوفر واجهة برمجة تطبيقات لتحليل ومعالجة بناء الجملة؛ تم تطبيق قواعد FxCop في Roslyn |
| اختبار Parasoft C/C++ | 2024-12-03 (2024.2) | لا؛ ملكية خاصة | — | لغة C، لغة C++ | — | — | — | — | — | أداة C/C++ مزودة بالذكاء الاصطناعي؛ تُجري التحليل الثابت، واختبارات الوحدات، ومراجعة التعليمات البرمجية، واكتشاف أخطاء وقت التشغيل، وفرض معايير السلامة والأمان؛ تتوفر إضافات لـ Visual Studio و Visual Studio Code وبيئات التطوير المتكاملة المستندة إلى Eclipse ، بالإضافة إلى التكامل مع GitHub. |
| Parasoft Jtest | 2024-12-03 (2024.2) | لا؛ ملكية خاصة | — | — | جافا | — | — | — | — | أداة جافا مزودة بالذكاء الاصطناعي؛ تُجري التحليل الثابت، واختبارات الوحدات، وتُطبّق معايير السلامة والأمان؛ تتوفر إضافات لبرامج IntelliJ IDEA و Visual Studio Code وبيئات التطوير المتكاملة القائمة على Eclipse ، بالإضافة إلى التكامل مع GitHub. |
| بي سي لينت بلس | 2022-08-02 (2.0 بيتا 2) | لا؛ ملكية خاصة | — | لغة C، لغة C++ | — | — | — | — | — | أداة تحليل ثابتة تُستخدم للكشف عن مجموعة واسعة من العيوب، وتحديد التعليمات البرمجية المشبوهة، وفرض معايير البرمجة المختلفة (MISRA/AUTOSAR/إلخ)، وحساب المقاييس المعقدة والإبلاغ عنها، وتنفيذ عمليات التحقق التي يحددها المستخدم. |
| PMD | 2025-11-28 (7.19.0) | نعم؛ يشبه نظام BSD | — | لغة C، لغة C++ | جافا، كوتلين، سكالا، JSP، لغة قوالب أباتشي فيلوسيتي (VTL) | جافا سكريبت | — | — | Apex، ColdFusion ، HTML، PHP، PL/SQL، Swift، Visualforce، XML، Maven POM، WSDL، XSL | كاشف الرموز المكررة [ 12 ] |
| مساحة المنشورات | 2022-09-15 | لا؛ ملكية خاصة | آدا | لغة C، لغة C++ | — | — | — | — | — | يستخدم التفسير المجرد للكشف عن بعض أخطاء وقت التشغيل والتعليمات البرمجية غير المستخدمة في التعليمات البرمجية المصدرية وإثبات عدم وجودها؛ ويستخدم للتحقق من جميع قواعد MISRA (2004، 2012) (التوجيهات، وغير التوجيهات). |
| مختلف تمامًا | 2019-04-21 ( 101.0.0 ) | نعم؛ CC0 | — | — | — | جافا سكريبت، تايب سكريبت | — | — | لغات الترميز والبرمجة والتنسيق (مثل XML و CSS) | أداة لمقارنة التعليمات البرمجية الخاصة بكل لغة ؛ خوارزميات تحليل الميزات، وإعداد التقارير، والتصغير ، والتحسين |
| استوديو بي في إس | 2024-08-16 ( 7.32 ) | لا؛ ملكية خاصة | — | C، C++، C++/CLI ، C++/CX ، C# | جافا | — | — | — | — | أداة تحليل البرمجيات |
| كودانا | 2023-07-23 (2023.2) | لا؛ ملكية خاصة | — | سي شارب | جافا، كوتلين | جافا سكريبت، تايب سكريبت | VB.NET | بايثون | Go، HTML، PHP، CSS، Android، Vue.js | أداة تحليل جودة الكود؛ تستخدم تحليل الكود الثابت |
| تمزق | 2020-02-17 (3.4) | لا؛ ملكية خاصة | — | — | جافا | — | — | — | PHP | أداة تحليل الشفرة الثابتة مع العديد من خيارات التكامل للكشف التلقائي عن الثغرات الأمنية المعقدة |
| سيمغريب | 2026-07-15 ( 1.170.0 ) | نعم؛ رخصة LGPL الإصدار 2.1 | — | — | جافا | جافا سكريبت، تايب سكريبت | — | بايثون | Go، JSON ، PHP، Ruby، وضع مستقل عن اللغة | أداة تحليل ثابتة؛ تساعد في التعبير عن معايير البرمجة واكتشاف الأخطاء مبكرًا؛ دعم تجريبي لـ 11 لغة أخرى؛ خدمة التكامل المستمر ومكتبة قواعد متاحة |
| سايدر | 2021-02-02 | لا؛ ملكية خاصة | — | — | — | جافا سكريبت، كوفي سكريبت | — | بايثون | روبي، بي إتش بي، جو | أداة آلية لمراجعة الكود تعتمد على تحليل الكود الثابت، وتعمل على منصتي GitHub وGitLab؛ تتحقق من الأسلوب والجودة والتبعيات والأمان والأخطاء؛ وتدمج العديد من أدوات التحليل الثابت مفتوحة المصدر. |
| مشروع SLAM | 2010-07-14 | لا؛ ملكية خاصة | — | ج | — | — | — | — | — | مشروع بحثي من مايكروسوفت للتحقق من أن البرامج (برامج التشغيل) تفي بالخصائص السلوكية الأساسية للواجهات التي تستخدمها |
| مفتش SoftCheck ، Codepeer | 2020-08-24 (21.x) | لا؛ ملكية خاصة | آدا | — | جافا | — | — | — | — | الكشف الثابت عن الأخطاء المنطقية، وحالات التزامن ، والتعليمات البرمجية الزائدة ؛ يستخرج تلقائيًا الشروط المسبقة واللاحقة من التعليمات البرمجية |
| سونار كيوب | 2024-02-05 (10.4) | جزئياً؛ الإطار مرخص بموجب رخصة LGPL الإصدار 3.0 ، ولكن بعض الميزات قد تكون ملكية خاصة. | — | سي، سي شارب، سي++، أوبجكتيف سي | جافا، كوتلين ، سكالا | جافا سكريبت، تايب سكريبت | VB.NET | بايثون | ABAP، Apex، CSS، COBOL، Flex، Go، HTML، PHP، PLI، PL/SQL، Ruby، Swift، TSQL، Visual Basic 6، XML | محرك فحص مستمر يكتشف الثغرات الأمنية والأخطاء البرمجية ومؤشرات ضعف الكود ، ويتتبع تعقيد الكود وتغطية اختبارات الوحدات والتكرار؛ كما يوفر تحليل الفروع ودعم لغات C وC++ وObjective-C عبر تراخيص تجارية. |
| عداد المصدر | 2016-12-16 (8.2) | لا؛ ملكية خاصة | — | لغة C، لغة C++ | جافا | — | — | بايثون | آر بي جي 4 (إيه إس/400) | محلل شفرة مصدرية ثابت متعدد المنصات، يعمل عبر سطر الأوامر؛ يتكامل مع PMD و SpotBugs |
| سورستريل (متقاعد) | 2021-04 (2021.4.19) | نعم؛ رخصة جنو العمومية | — | لغة C، لغة C++ | جافا | — | — | بايثون | بيرل | مستكشف شفرة المصدر مفتوح المصدر؛ يوفر رسومًا بيانية تفاعلية للتبعيات، ويدعم العديد من لغات البرمجة |
| متناثر | 2021-09-06 (0.6.4) | نعم؛ معهد ماساتشوستس للتكنولوجيا | — | ج | — | — | — | — | ملحقات GCC | أداة مفتوحة المصدر مصممة لاكتشاف الأخطاء في نواة لينكس |
| جبيرة | 2007-07-12 (3.1.2) | نعم؛ رخصة جنو العمومية الإصدار الثاني | — | ج | — | — | — | — | — | أداة مفتوحة المصدر تقوم بفحص برامج C بشكل ثابت بحثًا عن الثغرات الأمنية وأخطاء البرمجة |
| ستايل كوب | 2016-05-02 (2016.1.0) | نعم؛ Ms-PL | — | سي شارب | — | — | .شبكة | — | — | يحلل هذا البرنامج شفرة المصدر المكتوبة بلغة C# لفرض مجموعة من قواعد الأسلوب والاتساق؛ ويمكن تشغيله من داخل Visual Studio أو دمجه في مشروع MSBuild |
| ساحة | 2020-11-27 (20.1) | لا؛ ملكية خاصة | آدا | سي، سي++، سي#، أوبجكتيف-سي | جافا | جافا سكريبت، تايب سكريبت | VB.NET | بايثون | فورتران، بي إتش بي، بي إل/إس كيو إل، سويفت، تي-إس كيو إل، إكس إيه إم إل | أداة مراقبة متعددة الأغراض ومتعددة اللغات لمشاريع البرمجيات؛ تتكامل مع الماسحات الضوئية الأخرى. |
| يفهم | 2023-01-19 (6.3) | لا؛ ملكية خاصة | آدا | سي، سي++، سي#، أوبجكتيف-سي | جافا | جافا سكريبت | — | بايثون | فورتران، جوفيال، باسكال، في إتش دي إل، إتش تي إم إل، بي إتش بي، إكس إم إل | أداة متعددة المنصات لتحليل وفهم قواعد البيانات البرمجية الكبيرة؛ تتعرف على العديد من لهجات لغات C وC++ وC# مثل ANSI وK&R وObjective-C++ |
| خبير بصري | 2021-09-10 | لا؛ ملكية خاصة | — | — | — | — | — | — | باور بيلدر، أوراكل بي إل/إس كيو إل، إس كيو إل سيرفر ترانزاكت-إس كيو إل (تي-إس كيو إل) | يساعد الفحص المستمر للبرمجيات، وإعداد التقارير حول مشاكل الجودة والأمان، على فهم البرمجيات المعقدة (المراجع المتبادلة، وتوثيق ومقارنة شفرة المصدر، وتحليل أداء البرمجيات). |
| Visual Studio | 2021-10-12 (16.11) | لا؛ ملكية خاصة | — | سي، سي++، سي# | — | — | — | — | VB.NET | بيئة تطوير متكاملة (IDE)؛ توفر تحليلًا ثابتًا للتعليمات البرمجية للغة C/C++ في بيئة المحرر ومن سطر أوامر المُصرّف؛ تتضمن منصة مُصرّف .NET (Roslyn) التي توفر تحليلًا للغة C# وVB.NET |
| ياسكا (متقاعد) | 2010-11-01 (2.21) | نعم؛ تراخيص متعددة | — | لغة C، لغة C++ | جافا | جافا سكريبت | — | — | ASP، PHP، HTML، CSS، ColdFusion، COBOL | محلل شفرة مصدرية آخر؛ إطار عمل قائم على الإضافات لفحص أنواع الملفات المختلفة، مع إضافات؛ يتكامل مع الماسحات الضوئية الأخرى، بما في ذلك FindBugs و PMD وPixy |
| أداة | يطلق | برامج مجانية | اللغات المدعومة | ملحوظات | ||||||
اللغات
- شارع
- جناح أكسيفيون (باوهاوس)
- انفجار
- صوت رنين
- كوكينيل
- كسرتي
- مدقق المحاسبين المعتمدين
- Cppcheck
- Cppdepend
- قسطرة
- إكلير
- كسوف
- تقلب
- فراما-سي
- مجلس التعاون الخليجي
- هيليكس كيو إيه سي
- استنتاج فيسبوك
- كلوورك
- الوبر
- منصة اختبار LDRA
- اختبار Parasoft C/C++
- بي سي لينت بلس
- مساحة المنشورات
- استوديو بي في إس
- مشروع SLAM
- متناثر
- سونار كيوب
- جبيرة
- يفهم
- Visual Studio
- تحليل CODESYS الثابت – إضافة متكاملة لبرنامج CODESYS (تم تنفيذ كود التطبيق على سبيل المثال في ST و FBD و LD)
| أداة | أحدث إصدار | برامج مجانية | رمز مكرر | ملحوظات |
|---|---|---|---|---|
| نمط مربعات | 2020-01-26 | نعم؛ رخصة القيادة العامة المحدودة | لا | إلى جانب بعض التحليلات الثابتة للشيفرة، يمكن استخدامه لإظهار انتهاكات معيار الترميز المُحدد. وقد أُزيلت خاصية اكتشاف الشيفرة المكررة [ 13 ] من Checkstyle. |
| كسوف | 2017-06-28 | نعم؛ الدوري الإنجليزي الممتاز | لا | بيئة تطوير متكاملة متعددة المنصات مزودة بمجموعة خاصة بها تضم مئات من أدوات فحص التعليمات البرمجية، تتيح تحليل التعليمات البرمجية مباشرةً في المحرر، بالإضافة إلى التحليل الشامل للمشروع بأكمله. تتضمن إضافات لبرامج Checkstyle وFindBugs وPMD. |
| فايندباغز | 2015-03-06 | نعم؛ رخصة القيادة العامة المحدودة | انطلاقاً من مركز جاكرتا بي سي إي إل التابع لجامعة ميريلاند، يُعدّ SpotBugs الوريث الروحي لـ FindBugs، حيث يواصل مسيرته من حيث توقف بدعم من مجتمعه. | |
| IntelliJ IDEA | 2021-04-06 | نعم؛ لغة الإشارة الأمريكية 2 | نعم | بيئة تطوير متكاملة رائدة للغة جافا مزودة بفحص وتحليل مدمجين للتعليمات البرمجية. إضافات لبرامج Checkstyle وFindBugs وPMD. |
| JArchitect | 2017-06-11 | لا؛ ملكية خاصة | يُبسط إدارة قاعدة بيانات برمجية معقدة من خلال تحليل وتصور تبعيات التعليمات البرمجية، وتحديد قواعد التصميم، وإجراء تحليل التأثير، ومقارنة الإصدارات المختلفة من التعليمات البرمجية. | |
| Jtest | 2024-11-01 (2024.2) | لا؛ ملكية خاصة | نعم | منتج اختبار وتحليل الكود الثابت من شركة Parasoft . |
| سخام | 2020-10-28 | نعم؛ رخصة القيادة العامة المحدودة | إطار عمل لمعالجة اللغة وتحسينها يتكون من لغات وسيطة. | |
| PMD | 2025-11-28 | نعم؛ رخصة BSD | نعم | محلل كود ثابت يدعم الإضافات، بما في ذلك CPD . يدعم PMD فحص العديد من اللغات. |
| سكوال | 2011-05-26 | نعم؛ رخصة القيادة العامة المحدودة | منصة لإدارة جودة البرمجيات. | |
| آمن على الخيوط | 2014-03-28 | لا؛ ملكية خاصة | أداة تحليل ثابتة تركز على إيجاد أخطاء التزامن. |
- ESLint – مدقق ومُنسق بناء جملة جافا سكريبت .
- مُجمِّع Closure من جوجل - مُحسِّن جافا سكريبت الذي يعيد كتابة التعليمات البرمجية لتكون أسرع وأصغر حجمًا، ويتحقق من استخدام وظائف جافا سكريبت الأصلية.
- CodeScene – تحليل سلوكي للبرمجيات.
- هجمات السوائل
- JSHint – نسخة معدلة من JSLint مدفوعة من قبل المجتمع.
- JSLint – مدقق ومُدقِّق بناء جملة جافا سكريبت.
- كلوورك
- Semgrep – أداة تحليل ثابتة تساعد في التعبير عن معايير الكود والكشف عن الأخطاء مبكراً. كما تتوفر خدمة التكامل المستمر ومكتبة قواعد.
- يفهم
أوبجكتيف-سي ، أوبجكتيف-سي++
- Clang – يتضمن مشروع Clang المجاني محللًا ثابتًا. اعتبارًا من الإصدار 3.2، تم تضمين هذا المحلل في Xcode . [ 14 ]
- Infer – طُوِّرَ بواسطة فريق هندسي في فيسبوك بمساهمين من مطوري البرامج مفتوحة المصدر. يستهدف Infer مؤشرات الذاكرة الفارغة، وتسريبات البيانات، واستخدام واجهة برمجة التطبيقات، وفحوصات أخرى للتحقق من سلامة البيانات. وهو متاح كمصدر مفتوح على GitHub.
- يفهم
أوبا
- تتضمن لغة Opa محللًا ثابتًا خاصًا بها. ولأن اللغة مصممة لتطوير تطبيقات الويب، فإن المترجم ذو الكتابة الثابتة القوية يتحقق من صحة الأنواع عالية المستوى لبيانات الويب، ويمنع افتراضيًا العديد من الثغرات الأمنية مثل هجمات XSS وحقن التعليمات البرمجية في قواعد البيانات.
- Perl::Critic – أداة للمساعدة في تطبيق أفضل الممارسات الشائعة في لغة بيرل. تستند معظم هذه الممارسات إلى كتاب داميان كونواي " أفضل ممارسات بيرل" .
- PerlTidy – برنامج يعمل كمدقق بناء الجملة ومختبر/منفذ لممارسات البرمجة في لغة بيرل.
- Padre – بيئة تطوير متكاملة للغة Perl توفر أيضًا تحليلًا ثابتًا للتعليمات البرمجية للتحقق من الأخطاء الشائعة للمبتدئين.
- TOAD – بيئة تطوير PL/SQL مع مكون Code xPert الذي يقدم تقارير عن كفاءة الكود العامة بالإضافة إلى مشكلات البرمجة المحددة.
- Visual Expert – أداة تحليل كود PL/SQL [ 15 ] تقوم بالإبلاغ عن مشكلات البرمجة وتساعد في فهم وصيانة الكود المعقد ( تحليل التأثير ، وتوثيق الكود المصدري ، وأشجار الاستدعاء ، ومصفوفة CRUD ، وما إلى ذلك).
باور بيلدر ، باور سكريبت
- Visual Expert – أداة تقوم بفحص مكتبات PowerBuilder (PBLs) لفحص التعليمات البرمجية ، وتحليل التأثير ، وتوثيق التعليمات البرمجية المصدرية ، وأشجار الاستدعاء ، ومصفوفة CRUD .
- PyCharm – بيئة تطوير متكاملة للغة بايثون متعددة المنصات مع إمكانية فحص التعليمات البرمجية لتحليل التعليمات البرمجية أثناء التشغيل في المحرر والتحليل الشامل للمشروع بأكمله.
- PyDev – بيئة تطوير متكاملة للغة بايثون تعتمد على Eclipse مع تحليل الكود المتاح أثناء التشغيل في المحرر أو عند حفظ الوقت.
- بايلينت – محلل أكواد ثابت. صارم للغاية؛ ويتضمن العديد من التحذيرات المتعلقة بأسلوب الكتابة أيضًا.
- هجمات السوائل
- كلوورك
- Semgrep – محلل كود ثابت يساعد في التعبير عن معايير الكود والكشف عن الأخطاء مبكراً. كما تتوفر خدمة التكامل المستمر ومكتبة قواعد.
- يفهم
- Visual Expert – أداة تحليل كود SQLServer [ 16 ] التي تقدم تقارير عن مشكلات البرمجة وتساعد على فهم وصيانة الكود المعقد (تحليل التأثير، وتوثيق الكود المصدري، وأشجار الاستدعاء، ومصفوفة CRUD، وما إلى ذلك).
أدوات مزودة بخاصية الكشف عن التعليمات البرمجية المكررة
أدوات الأساليب الرسمية
تستخدم الأدوات التي تعتمد على أساليب التحليل الثابت ، أي التقريب المفرط لنموذج دقيق، أساليب رسمية (مثل استخدام تأكيدات البرامج الثابتة ). لا تحتوي هذه الأساليب على نتائج سلبية خاطئة للبرامج الخالية من الأخطاء، على الأقل فيما يتعلق بالنموذج الرياضي المثالي الذي تستند إليه (لا يوجد ما يُسمى بالسلامة المطلقة). تجدر الإشارة إلى أنه لا يوجد ضمان بأنها ستُبلغ عن جميع الأخطاء في البرامج التي تحتوي على أخطاء، ولكنها ستُبلغ عن خطأ واحد على الأقل.
- Astrée – يجد جميع أخطاء وقت التشغيل المحتملة عن طريق التفسير المجرد ، ويمكنه إثبات عدم وجود أخطاء وقت التشغيل ويمكنه إثبات التأكيدات الوظيفية؛ مصمم خصيصًا لرمز C الحرج للسلامة (مثل إلكترونيات الطيران).
- CodePeer - يحدد ويوثق بشكل ثابت الشروط المسبقة واللاحقة للبرامج الفرعية Ada ؛ ويتحقق بشكل ثابت من الشروط المسبقة في جميع مواقع الاستدعاء.
- ECLAIR - يستخدم تقنيات تحليل الكود الثابت القائمة على الأساليب الرسمية مثل التفسير المجرد والتحقق من النموذج بالإضافة إلى تقنيات إرضاء القيود للكشف عن أو إثبات عدم وجود أخطاء معينة في وقت التشغيل في الكود المصدري .
- ESC/Java و ESC/Java2 – مبنيان على لغة نمذجة جافا ، وهي نسخة محسّنة من جافا
- Frama-C – إطار تحليل مفتوح المصدر للغة C، يعتمد على لغة مواصفات ANSI/ISO C (ACSL). تشمل تقنياته الرئيسية التفسير المجرد والتحقق الاستنتاجي ومراقبة وقت التشغيل .
- KeY – منصة تحليلية للغة جافا تعتمد على إثبات النظريات باستخدام مواصفات بلغة نمذجة جافا؛ يمكنها توليد حالات اختبار كأمثلة مضادة؛ واجهة مستخدم رسومية مستقلة أو تكامل مع Eclipse
- MALPAS – أداة أساليب رسمية تستخدم الرسوم البيانية الموجهة والجبر المنتظم لإثبات أن البرامج قيد التحليل تفي بمواصفاتها الرياضية بشكل صحيح.
- يستخدم Polyspace التفسير المجرد، وهو أسلوب قائم على الأساليب الرسمية، [ 17 ] للكشف عن أخطاء معينة في وقت التشغيل وإثبات عدم وجودها في شفرة المصدر للغة C/C++ ولغة Ada.
- مجموعة أدوات SPARK بما في ذلك SPARK Examiner - تستند إلى لغة SPARK، وهي مجموعة فرعية من لغة Ada.
انظر أيضاً
- مراجعة التعليمات البرمجية الآلية
- أفضل ممارسات البرمجة
- قائمة فلسفات تطوير البرمجيات
- تحليل البرامج الديناميكية
- مقاييس البرمجيات
- بيئة التطوير المتكاملة (IDE) ومقارنة بيئات التطوير المتكاملة . عادةً ما تأتي بيئات التطوير المتكاملة مزودة بدعم مدمج لتحليل البرامج الثابتة، أو بخيار لدمج هذا الدعم. يوفر Eclipse آلية التكامل هذه لمعظم أنواع الإضافات (المكونات الإضافية).
مراجع
- ↑ "CPAchecker" . 2015-02-08.
- ↑ "التحليل الثابت في Xcode" . أبل. مؤرشف من الأصل بتاريخ 2009-09-05 . تم الاطلاع عليه بتاريخ 2009-09-03 .
- ↑ "تشغيل المحلل داخل Xcode" . مؤرشف من الأصل في 5 ديسمبر 2021. تم الاطلاع عليه في 14 يناير 2022 .
- ↑ "أدوات ولغات اختبار أمان التطبيقات المدعومة" . codedx.com . تم الاطلاع عليه بتاريخ 25 أبريل 2017 .
- ↑ "موقع Coverity Scan الإلكتروني" . تم الاطلاع عليه بتاريخ 23-08-2023 .
- ↑ "موقع إكلير" . تم الاسترجاع بتاريخ 2021-10-07 .
- ↑ "CppDepend what's new" . cppdepend.com . تم الاطلاع عليه في 1 مارس 2023 .
- ↑ "ملف Readme.md الخاص بأدلة أسلوب جوجل" . جيت هاب . تم الاطلاع عليه بتاريخ 8 نوفمبر 2021 .
- ↑ مالكولم، ديفيد (26 مارس 2020). "التحليل الثابت في GCC 10" . مطور ريد هات . تم الاسترجاع في 13 أبريل 2022 .
- ↑ "نظام يونكس مجاني!" . lemis.com. 2002-01-24.
- ↑ "NDepend what's new" . ndepend.com . تم الاطلاع عليه بتاريخ 15 يونيو 2022 .
- ↑ "PMD - تصفح /pmd/5.0.0" . SourceForge.net . تم الاطلاع عليه في 9 ديسمبر 2012 .
- ↑ "إزالة StrictDuplicateCodeCheck والحزمة بأكملها · المشكلة رقم 523 · checkstyle/Checkstyle" . GitHub .
- ↑ "التحليل الثابت في Xcode" . أبل . تم الاطلاع عليه بتاريخ 2009-09-03 .
- ↑ "Visual Expert for Oracle - PL/SQL Code Analyzer" . www.visual-expert.com . 2017-08-24.
- ↑ "Visual Expert for SQL Server - محلل أكواد Transact SQL" . www.visual-expert.com . 2017-08-24.
- ↑ كوسو، باتريك (2007). "دور التفسير المجرد في الأساليب الرسمية". المؤتمر الدولي الخامس لهندسة البرمجيات والأساليب الرسمية (SEFM 2007) . المؤتمر الدولي لهندسة البرمجيات والأساليب الرسمية. الصفحات 135-140 . doi : 10.1109/SEFM.2007.42 . ISBN 978-0-7695-2884-7. S2CID 67212 .
روابط خارجية
- قائمة أدوات تحليل الشفرة الثابتة التابعة لاتحاد أمن تطبيقات الويب
- سامات - محللات أمان شفرة المصدر
- SATE - معرض أدوات التحليل الثابت
- "مقارنة بين أدوات اكتشاف الأخطاء في جافا" ، من تأليف نيك روتار، وكريستيان ألمازان، وجيف فوستر، جامعة ميريلاند . تقارن هذه الدراسة بين Bandera و ESC/Java 2 و FindBugs وJLint وPMD.
- "مراجعة موجزة لكتاب Java Bug Finders" ، بقلم ريك جيليف، دار نشر أورايلي ميديا .
- "محلل الشفرة الثابتة"
فئات :
- أدوات تحليل البرامج الثابتة
- قوائم البرامج
