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