arXiv:2608.27442ترجمه شده

از ایستا به پویا: معیارسنجی بازبینی کد واقعی با MCR-Bench

Dewu Zheng، Yanlin Wang، Xiwen Wang، Kefeng Duan، Hongyu Zhang، Xilin Liu، Yuchi Ma، Zibin Zheng

چکیده

در فرآیند توسعهٔ نرم‌افزارهای واقعی، مرور کد معمولاً شامل تعاملات تکرارشونده میان توسعه‌دهندگان و بازبینان برای ارتقای کیفیت نرم‌افزار است؛ فرآیندی که مستلزم صرف هزینه و زمان قابل‌توجهی است. اگرچه پژوهش‌های اخیر به بررسی مدل‌های زبانی بزرگ (LLMها) برای مرور خودکار کد پرداخته‌اند، بیشتر رویکردهای موجود، مرور کد را به یک وظیفهٔ تصمیم‌گیری تک‌دوره‌ای و ایستا تقلیل می‌دهند و از این‌رو قادر به بازنمایی ماهیت تعاملی چنددوره‌ای و فرآیندهای پیچیدهٔ حل مسئله در سناریوهای واقعی مرور کد نیستند. برای پر کردن این خلأ، ما در این مقاله **MCR-Bench** را معرفی می‌کنیم؛ نخستین بنچمارک آگاه از وضعیت نقص (Defect State-Aware) که به‌طور خاص برای مرور کد چنددوره‌ای در شرایط واقعی طراحی شده است. MCR-Bench پنج زبان برنامه‌نویسی پرکاربرد و ۲۲۶۹ وظیفهٔ مرور کد چنددوره‌ای واقعی را در بر می‌گیرد که هر یک با داده‌های تفصیلی نقص و برچسب‌های وضعیتی بین‌دوره‌ای همراه شده‌اند. هر وظیفه در این مجموعه به فراداده‌های نقص (شامل توضیح، نوع و شدت) و برچسب‌گذاری‌های وضعیتی پویا مجهز است که مسیر تکاملی کامل یک نقص را در طول تمام دوره‌های تعامل ثبت می‌کند. ما از طریق آزمایش‌های گسترده بر روی MCR-Bench با استفاده از LLMهای رایج، یافته‌های متعددی را به دست آورده‌ایم: **(۱) محدودیت توانایی کلی:** آزمایش‌ها نشان می‌دهند که LLMهای رایج در تشخیص نقص و پیگیری وضعیت چرخهٔ حیات نقص عملکرد محدودی دارند و کارایی آن‌ها با افزایش تعداد دوره‌های تعامل به‌طور چشمگیری کاهش می‌یابد. **(۲) عملکرد حساس به نوع نقص:** عملکرد LLMها در میان انواع مختلف نقص و سطوح گوناگون شدت، تفاوت قابل‌ملاحظه‌ای دارد و نقص‌های معنایی پیچیده یا کم‌توجه‌شده بسیار بیشتر در معرض شناسایی‌نشدن قرار دارند. **(۳) مکانیسم‌های شکست ساختاری:** تحلیل عمیق خطای ما با بررسی موشکافانهٔ موارد شکست، منبع مثبت‌ها و منفی‌های کاذب را شناسایی کرده و ضعف‌های بنیادینی همچون نبود هم‌راستایی زمانی میان دوره‌ها و حافظهٔ بلندمدت ناکافی را آشکار می‌سازد.

متن کامل

User Safety: safe scite.ai: فعال/غیرفعال کردن نقل‌قول‌های هوشمند scite (نقل‌قول‌های هوشمند چیست؟) فعال/غیرفعال کردن کد، داده و رسانه مرتبط با این مقاله در alphaXiv (alphaXiv چیست؟) فعال/غیرفعال کردن لینک به کد CatalyzeX برای مقالات (CatalyzeX چیست؟) فعال/غیرفعال کردن DagsHub (DagsHub چیست؟) فعال/غیرفعال کردن Gotit.pub (GotitPub چیست؟) فعال/غیرفعال کردن Hugging Face (Huggingface چیست؟) فعال/غیرفعال کردن ScienceCast (ScienceCast چیست؟) فعال/غیرفعال کردن دموهای Replicate (Replicate چیست؟) فعال/غیرفعال کردن فضاهای Hugging Face (Spaces چیست؟) فعال/غیرفعال کردن فضاهای TXYZ.AI (TXYZ.AI چیست؟) ابزار پیشنهاددهنده CORE را فعال/غیرفعال کنید (CORE چیست؟) لینک به تأثیر گل (گل‌های تأثیر چیست؟) را فعال/غیرفعال کنید آزمایشگاه‌های arXiv مجموعه‌ای از پروژه‌های آزمایشی هستند که توسط همکاران جامعه توسعه داده‌اند. این آزمایشگاه‌ها به همکاران اجازه می‌دهند تا ویژگی‌های جدید arXiv را مستقیماً در وب‌سایت ما توسعه داده و به اشتراک بگذارند. همه افرادی و سازمان‌هایی که با آزمایشگاه‌های arXiv همکاری می‌کنند، به ارزش‌های باز بودن، جامعه، برتری و حریم خصوصی داده‌های کاربری ما متعهد هستند. arXiv به این ارزش‌ها پایبند است و تنها با شرکایی که به آن‌ها احترام می‌گذارند، همکاری می‌کند. اگر ایده‌ای برای پروژه‌ای دارید که می‌تواند به جامعه arXiv ارزش افزوده‌ای ببخشد، بیشتر درباره آزمایشگاه‌های arXiv بیاموزید. کدام نویسندگان این مقاله تأییدکننده هستند؟ | MathJax را غیرفعال کنید (MathJax چیست؟)