ما هي أدوات التحليل الثابتة المتاحة لـ C#؟[مغلق]

StackOverflow https://stackoverflow.com/questions/38635

سؤال

ما هي الأدوات المتوفرة للتحليل الثابت مقابل كود C#؟أنا أعرف عن FxCop وStyleCop.هل هناك آخرون؟لقد مررت عبر NStatic من قبل ولكنه كان قيد التطوير لما يبدو أنه إلى الأبد - إنه يبدو رائعًا جدًا مقارنة بالقليل الذي رأيته منه، لذلك سيكون من الرائع أن يرى النور.

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

نحن نقدر الآراء الواقعية حول الأدوات التي استخدمتها.

هل كانت مفيدة؟

المحلول

أدوات الكشف عن انتهاكات التعليمات البرمجية:

  • فككوب, ، أداة ممتازة من مايكروسوفت.تحقق من التوافق مع إرشادات إطار عمل .net.

    تحرير أكتوبر 2010: لم تعد متاحة للتنزيل المستقل.تم تضمينه الآن في ويندوز SDK وبعد التثبيت يمكن العثور عليه في Program Files\Microsoft SDKs\Windows\ [v7.1] \Bin\FXCop\FxCopSetup.exe

    تحرير فبراير 2018:تم الآن دمج هذه الوظيفة في Visual Studio 2012 والإصدارات الأحدث تحليل الكود

  • شارب, ، استنادًا إلى تحليل مصدر التعليمات البرمجية (إلى C# 2.0)
  • مونو.الدرك, ، مشابه لـ Fxcop ولكن مع ترخيص مفتوح المصدر (استنادًا إلى مونو. سيسيل)
  • مدخن, ، على غرار Fxcop وGendarme، استنادًا إلى مونو. سيسيل.لم يعد قيد التطوير، يعمل المطور الرئيسي مع فريق Gendarme الآن.
  • خاصية منع التغطية™ لـ C#, ، منتج تجاري
  • ضمان جودة PRQ·C#, ، منتج تجاري
  • استوديو PVS, ، منتج تجاري
  • كات.نت ، برنامج إضافي للاستوديو المرئي يساعد في تحديد العيوب الأمنية
  • CodeIt.Right
  • المواصفات #
  • بيكس

أدوات قياس الجودة:

  • نديبند, أداة مرئية رائعة.مفيد لمقاييس الكود والقواعد والفرق والاقتران ودراسات التبعية.
  • نيتريك, ، مجانًا، يمكنه بسهولة كتابة المقاييس/القيود الخاصة بك، وتصورات جميلة. تحرير فبراير 2018: روابط التحميل ميتة الآن.
  • تربيع RSM, ، بناءً على تحليل مصدر الكود
  • مقاييس C#, باستخدام التحليل الكامل لـ C#
  • مراقبة المصدر, ، وهي أداة قديمة تحصل أحيانًا على تحديثات
  • مقاييس الكود, ، أ العاكس اضف الى
  • فيل, أداة قديمة لا تدعم .NET 2.0. تحرير يناير 2018: الارتباط ميت الآن

التحقق من أدوات النمط:

  • StyleCop, أداة Microsoft (يتم تشغيلها من داخل Visual Studio أو مدمجة في مشروع MSBuild).أيضا متاح كامتداد لـ Visual Studio 2015 وC#6.0
  • الوكيل سميث, ، البرنامج المساعد للتحقق من صحة نمط التعليمات البرمجية لـ ريشاربر

كشف الازدواجية:

  • قردي, ، بناءً على كود المصدر.يعمل مع الكثير من اللغات.
  • CloneDR, ، يكتشف النسخ ذات المعلمات فقط على حدود اللغة (يتعامل أيضًا مع العديد من اللغات بخلاف C#)
  • المحقق استنساخ البرنامج المساعد Visual Studio.(يستخدم كونكات داخليا)
  • اتوميك, ، استنادًا إلى كود المصدر، والعديد من اللغات، وتصور "العجلة" الرائع

أدوات إعادة الهيكلة العامة

  • ريشاربر - ميزات رائعة لتحليل أكواد C# وإعادة البناء

نصائح أخرى

الأداة نديبند نقلا عن أدوات قياس الجودة ولكنه إلى حد كبير أيضًا أ كشف انتهاك التعليمات البرمجية أداة. تنصل:أنا أحد مطوري الأداة

مع NDepend، يمكن للمرء أن يكتب قاعدة التعليمات البرمجية على استعلامات LINQ (ما نسميه CQLinq).أكثر من 200 قواعد كود CQLinq يتم اقتراحها بشكل افتراضي.تكمن قوة CQLinq في ذلك من السهل كتابة قاعدة التعليمات البرمجية, ، واحصل على في الحال نتائج.يتم اقتراح التسهيلات لتصفح عناصر التعليمات البرمجية المتطابقة.على سبيل المثال:

CQLinq code rule

بالإضافة إلى ذلك، يأتي NDepend مع العديد من الميزات الأخرى تحليل ثابت مثل سمات.وتشمل هذه:

  • الدرك هو محلل ثابت قائم على القواعد مفتوح المصدر (يشبه FXCop، لكنه يواجه الكثير من المشكلات المختلفة).
  • المحقق استنساخ هو مكون إضافي لطيف لبرنامج Visual Studio يبحث عن التعليمات البرمجية المكررة.
  • عند التحدث أيضًا عن Mono، أجد أن عملية التحويل البرمجي باستخدام برنامج التحويل البرمجي Mono (إذا كانت التعليمات البرمجية الخاصة بك مستقلة بما يكفي عن النظام الأساسي للقيام بذلك، وهو هدف قد ترغب في السعي لتحقيقه على أي حال) تجد الكثير من المتغيرات غير المشار إليها والتحذيرات الأخرى التي يفتقدها Visual Studio تمامًا (حتى مع ضبط مستوى التحذير على 4).

هل رأيت كات.نت?

من الدعسوقة -

CAT.NET هي أداة تحليل التعليمات البرمجية الثنائية التي تساعد على تحديد المتغيرات الشائعة لبعض نقاط الضعف السائدة التي يمكن أن تؤدي إلى ناقلات الهجوم الشائعة مثل البرمجة النصية عبر المواقع (XSS) ، وحقن SQL وحقن XPath.

لقد استخدمت إصدارًا تجريبيًا مبكرًا ويبدو أنه قد أظهر بعض الأشياء التي تستحق النظر إليها.

بصرف النظر عن القائمة الممتازة التي أعدها madgnome، أود أن أضيف كاشفًا للأكواد المكررة يعتمد على سطر الأوامر (ولكنه مجاني):

http://sourceforge.net/projects/duplo/

لدى Klocwork أداة تحليل ثابتة لـ C#: http://www.klocwork.com

أجد مقاييس الكود و مصفوفة هيكل التبعية الوظائف الإضافية لـ Reflector مفيدة جدًا.

أطلقت شركة Optimyth Software للتو خدمة تحليل ثابتة في السحابة www.checkinginthecloud.com.ما عليك سوى تحميل التعليمات البرمجية الخاصة بك بشكل آمن وتشغيل التحليل والحصول على النتائج.لا متاعب.

وهو يدعم العديد من اللغات بما في ذلك C# ويمكن العثور على مزيد من المعلومات على www.optimyth.com

جناح أكسيفون باوهاوس هي أداة تحليل ثابتة تعمل مع C# (بالإضافة إلى C وC++ وJava).

ويوفر الإمكانيات التالية:

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top