توفر المكتبة الحالية مجموعة من الأدوات المساعدة ، الموجهة للعمل مع ملفات .sarif .
SARIF - نتائج التحليل الثابت تنسيق التبادل ، هو تنسيق قياسي قائم على JSON لإخراج أدوات التحليل الثابت ، الذي وضعه Microsoft.
هناك أداة تحليل ثابتة مختلفة ، ولكن عمومًا يتم توحيدها جميعًا بمفهوم واحد - للكشف عن نقاط الضعف في البرامج.
وبالتالي ، عند إخراج عمل أداة التحليل الثابت ، ستكون هناك مجموعة من warnings ،
التي تشير إلى رائحة الكود. لقد ذهبت بعض الأدوات إلى أبعد من ذلك وتوفر فرصة
fix رائحة هذه الرمز تلقائيًا.
وفقًا لذلك ، ستحتوي ملفات SARIF ، التي يمكن أن تكون واحدة من التنسيقات المحتملة لتقارير أدوات التحليل الثابت ، على أقسام مقابلة warnings fixes ، والتي تم الحصول عليها بواسطة هذه الأدوات ، والتي تتم توجيهها إلى نقاط الضعف المقابلة في الملفات المستهدفة.
تم تعيين وحدة Fix-Patches على العمل مع أقسام fix object من ملفات SARIF - المنسقة.
fix object إصلاحًا مقترحًا للمشكلة ، المشار إليها بواسطة الأداة.Fix-Patches ، بدورها ، بتحليل مثل هذه الأقسام ، وإنشاء نسخة من الملفات المستهدفة ، والتي يتم تقديمها في SARIF ، وتطبيق الإصلاحات تلقائيًا على هذه النسخ.سيحتوي إخراج النتيجة على قائمة المسارات على نسخ الملفات المستهدفة المقدمة مع الإصلاحات التطبيقية.
ملاحظة: إذا كان ملف SARIF سيحتوي على إصلاحات متعددة لنفس المنطقة في ملف واحد ، فسيتم تطبيق الإصلاح الأول فقط.
توفر المكتبة واجهة برمجة تطبيقات سهلة الاستخدام لتطبيق تصحيحات الإصلاح ، فهي بحاجة فقط إلى توفير المسار إلى ملف SARIF ، الذي يحتوي على قائمة الإصلاحات ( fix objects ) للملفات المستهدفة وقائمة المسارات لهذه الملفات ، بالطريقة التي يتم عرضها في SARIF (عبر مسارات مطلقة/نسبية).
val processedFiles : List < Path > = SarifFixAdapter (
sarifFile = sarifFilePath,
targetFiles = listOfTargetFilesPaths,
testRoot = " /path/to/test/root/directory/ " .toPath()
).process()