سؤال

ما هي الأدوات الموجودة هناك التي يمكنها إجراء تحليل تغطية الكود على مستوى رمز الجهاز بدلاً من مستوى رمز المصدر؟ أنا أبحث عن حل ممكن لإجراء اختبار Fuzz على البرامج التي ليس لدي وصول إلى رمز المصدر.

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

المحلول

أعتقد أن رمز كائن أداة تغطية التغطية العقلانية IBM.

على افتراض أن لديك مثل هذه الأداة ، ولكن لا يمكن الوصول إلى المصدر ، ما الذي يعنيه تغطية الكود بالضبط ، بخلاف 100 ٪؟

إذا لم يكن لديك تغطية 100 ٪ ، فأنت تعلم أنك لم تمارس شيئًا ما. لكن لن يكون لديك أي طريقة لمعرفة ماذا.

نصائح أخرى

للرمز المترجم (وليس Java) ، جرب Valgrind.

وظيفة قديمة ... لكن بلدي سنتان.

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

في حالتي ، لديّ جرار هي في الواقع مكونات ملكية (لإنشاء رمز HTML) والتي تستخدمها شركتنا لبناء صفحات الويب الخاصة بها. لدينا تطبيق عينة يستخدم هذه المكونات ومجموعة من الاختبارات التي يتم إجراؤها مقابل تطبيق العينة. لقد كتبت مهمة ANT لنسخ تبعيات Maven إلى دليل ، ودليلها وتشغيل الاختبارات ضد هذه الجرار ذات الصك. تم استدعاء هذه المهمة من Maven POM وبالتالي فهي جزء من عملية الإنشاء.

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

إذا كان لديك عدد نقاط الدخول (الأساليب العامة) ، فيمكنك اختبار التغطية لذلك. لا أعرف أي أداة لذلك. وإلا ، فسيتعين عليك اختبار تغطية رمز التجميع ، ولا أعرف ما إذا كان ذلك ممكنًا.

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