تنشر إنتل ControlFlag 1.2، وهي أداة للكشف عن الحالات الشاذة في التعليمات البرمجية المصدر

نشرت شركة Intel إصدار ControlFlag 1.2، وهو عبارة عن مجموعة أدوات تتيح لك تحديد الأخطاء والحالات الشاذة في التعليمات البرمجية المصدر باستخدام نظام تعلم آلي تم تدريبه على كمية كبيرة من التعليمات البرمجية الموجودة. على عكس المحللين الثابتين التقليديين، لا يطبق ControlFlag قواعد جاهزة يصعب فيها توفير جميع الخيارات الممكنة، ولكنه يعتمد على إحصائيات حول استخدام بنيات لغوية مختلفة في عدد كبير من المشاريع الحالية. كود ControlFlag مكتوب بلغة C++ وهو مفتوح المصدر بموجب ترخيص MIT.

يتميز الإصدار الجديد بتقديم الدعم الكامل للكشف عن الحالات الشاذة والتعلم بناءً على أنماط التعليمات البرمجية الشائعة للغة C++. في الإصدارات السابقة، تم توفير دعم مماثل للغات C وPHP. يعد النظام مناسبًا لتحديد أنواع مختلفة من المشكلات في التعليمات البرمجية، بدءًا من تحديد الأخطاء المطبعية وعدم تطابق النوع، وحتى تحديد الحالات الشاذة في عبارات if وعمليات التحقق NULL المفقودة في المؤشرات. يتم تدريب النظام من خلال بناء نموذج إحصائي لمجموعة التعليمات البرمجية الحالية للمشاريع مفتوحة المصدر في C وC++ وPHP، المنشورة في GitHub والمستودعات العامة المماثلة.

في مرحلة التدريب، يحدد النظام الأنماط النموذجية لبناء الهياكل في الكود ويبني شجرة نحوية من الروابط بين هذه الأنماط، مما يعكس تدفق تنفيذ التعليمات البرمجية في البرنامج. ونتيجة لذلك، يتم تشكيل شجرة مرجعية لاتخاذ القرار تجمع بين تجربة التطوير لجميع أكواد المصدر التي تم تحليلها. يخضع الكود قيد المراجعة لعملية مماثلة لتحديد الأنماط التي يتم فحصها مقابل شجرة القرار المرجعية. تشير التناقضات الكبيرة مع الفروع المجاورة إلى وجود شذوذ في النمط الذي يتم فحصه.

تنشر إنتل ControlFlag 1.2، وهي أداة للكشف عن الحالات الشاذة في التعليمات البرمجية المصدر


المصدر: opennet.ru

إضافة تعليق