المواقع

Study Shows Open-source Code Quality Improving

TRACTUS: Understanding and Supporting Source Code Experimentation in Hypothesis-Driven Data Science

TRACTUS: Understanding and Supporting Source Code Experimentation in Hypothesis-Driven Data Science
Anonim

العدد الإجمالي للعيوب في المشاريع مفتوحة المصدر ينخفض ​​، وقد وجدت دراسة جديدة من قبل بائع Coverity.

التغطية ، صانع أدوات لتحليل رمز البرمجة ، تلقت عقدًا في عام 2006 من وزارة الأمن الداخلي الأمريكية إلى المساعدة في تعزيز جودة البرمجيات مفتوحة المصدر ، التي تستخدمها الهيئات الحكومية بشكل متزايد.

أنشأ البائع موقعًا على الويب يمكن من خلاله للمشروعات مفتوحة المصدر والمطورين تقديم رمز لتحليله. يقوم البائع بتعيين المشاريع لسلسلة من "الدرجات" اعتمادًا على عدد العيوب التي تم حلها.

"عيب الكثافة" انخفض بنسبة 16 بالمائة خلال السنوات الثلاث الماضية بين المشاريع التي تم فحصها عبر الموقع ، وتم التخلص من 11،200 عيوب ، ووفقاً لأحدث تقرير لـ Coverity.

تم منح أربعة مشاريع من المستوى الأعلى "Rung 3" ، بعد حل العيوب التي تم اكتشافها خلال Rung 1 و 2 ، حسبما قالت Coverity. وهم: سامبا ، تور ، أوبن بام ، وروبي.

حلل موقع المسح حتى الآن أكثر من 60 مليون سطر فريد من الشفرة من 280 مشروع ، وفقا لشركة Coverity. هناك أكثر من 180 مشروعًا يعمل فيها مطورو البرامج بنشاط لفحص مشاريع مفتوحة المصدر.

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

"التحليل الثابت [tools] لن يخبرك "إن عملية عملك تعمل بشكل صحيح … لكنها ستخبرك أن الشفرة نفسها متينة تقنياً ، وتتبع نوع أفضل الممارسات البرمجية التي تتوقع أن تراها من الكود الذي خضع لمراجعة برمجية سليمة" ، قال فورستر للأبحاث المحلل جيفري هاموند عبر البريد الإلكتروني.

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