Open-source REA Lab: تثبيت قطعة أثرية npm وتحليل شريحة الإدخال الخاصة بها
الهدف: وكلاء npm الرسميون 6.4.0 package.json وscripts/rea.mjs
المؤلف / الإسناد: martinlofranodeoliveira
تاريخ مراجعة المصدر:
حالة المراجعة: تمت مراجعة المصادر؛ لا يتم إعادة تشغيل اختبارات المؤلف بشكل مستقل.
السؤال
كيف يمكن التعرف على قطعة الإصدار قبل الإجابة على سؤال ملف الإدخال المحدود؟
ما فعله REA
يقوم مدقق بايثون مستقل بفحص بنية الأرشيف والتجزئة أولاً. يقوم REA بتحليل ثابت لملفين لم يتغيرا تم استخراجهما من الحزمة التي تم التحقق منها. تستخدم دلالات فرع الإدخال أيضًا عمليات التحقق من بناء الجملة يدويًا؛ المدقق والاستنتاجات اليدوية ليست إخراج REA.
النتائج التي أبلغ عنها المؤلف
ينشر المؤلف الملخصات المثبتة ومراجعة JSON وملخصات Evidence ونصوص النسخ. تُبلغ الشريحة عن ملف 1 الذي تم تحليله JavaScript، وعقد 469 AST، ونتائج 14 وفشل التحليل الصفري، مع ملاحظة أنه تمت مقاطعة تحليل الحزمة الكاملة أثناء التوسع الدلالي.
القيود والمطالبات التي لم يتم التحقق منها
نتائج 14 ليست عدد نقاط الضعف. تحتفظ الشريحة بالمجهولات الدلالية 110 وتفتقر إلى تطبيقات التوزيع، لذلك لا يمكنها إنشاء أمان الحزمة الكاملة أو صحة وقت التشغيل. الملخص المعقم غير قابل للإعادة، Evidence الكنسي؛ تغطية الحزمة الكاملة جزئية. لم يتم إعادة تشغيل هذا الكتالوج.
ماذا نتعلم
ربط السؤال والمدخلات مع الاحتفاظ بالانقطاعات والمجهول. تعتبر الفحوصات الهيكلية وهوية البايت وسلامة وقت التشغيل استنتاجات مختلفة.
دليل استخدام REA في المصدر
Can REA statically parse the actual shipped dispatcher?تم تبسيط تنسيق المقتطفات. اقرأ المصدر الأصلي للحصول على السياق الكامل.
المصادر الأصلية
ملخص التحرير المستقل. الائتمان ينتمي إلى المؤلفين الأصليين. لا يتم إعادة توزيع البرامج المستهدفة والمثبتات ومخرجات برنامج فك التحويل البرمجي الكاملة هنا.