یک رویکرد جدید که به طور خودکار تعمیر نرم افزار را با ایجاد موارد آزمایشی بهبود می بخشد

یک رویکرد جدید که به طور خودکار تعمیر نرم افزار را با ایجاد موارد آزمایشی بهبود می بخشد

مدل های بزرگ زبانی

حق چاپ: دامنه عمومی Pixabay/CC0

محققین نرم افزار IMDEA Facundo Molina، Juan Manuel Copia و Alessandra Gorla FIXCHECK را ارائه می کنند، رویکرد جدیدی برای بهبود تجزیه و تحلیل اشکال زدایی که ترکیبی از تجزیه و تحلیل استاتیک، تست تصادفی و مدل های زبان بزرگ است.

نوآوری‌های آن‌ها، که در مقاله گنجانده شده‌اند: «بهبود تجزیه و تحلیل صحت وصله از طریق آزمایش تصادفی و مدل‌های زبان بزرگ» در کنفرانس بین‌المللی تست، تأیید و اعتبارسنجی نرم‌افزار (ICST 2024) ارائه شد و جزئیات بیشتر در اینجا موجود است. زنودو سرور.

ایجاد وصله هایی که عیوب نرم افزاری را برطرف می کنند، یک وظیفه حیاتی در نگهداری سیستم های نرم افزاری است. نقص نرم افزار معمولاً از طریق موارد آزمایشی گزارش می شود که رفتارهای ناخواسته را در نرم افزار نشان می دهد.

در پاسخ به این نقص‌ها، توسعه‌دهندگان وصله‌هایی ایجاد می‌کنند که باید قبل از متعهد شدن به پایه کد، تأیید شوند، و اطمینان حاصل کنند که آزمایش ارسال‌شده دیگر نقص را نشان نمی‌دهد. با این حال، وصله‌ها ممکن است نتوانند به طور مؤثر باگ زیربنایی را برطرف کنند یا باگ‌های جدیدی را معرفی کنند، که در نتیجه به اصطلاح اصلاحات بد یا وصله‌های نادرست ایجاد می‌شود.

شناسایی این وصله های نادرست می تواند به طور قابل توجهی بر زمان و تلاش صرف شده برای رفع اشکال توسط توسعه دهندگان و نگهداری کلی سیستم های نرم افزاری تأثیر بگذارد.

Automatic Software Repair (APR) ابزارهایی را در اختیار توسعه دهندگان نرم افزار قرار می دهد که قادر به ایجاد وصله های خودکار برای نرم افزار معیوب هستند. با این حال، استفاده از آنها منجر به شناسایی بسیاری از وصله های نادرست شده است که نمی توانند این نقص را برطرف کنند.

برای رفع این مشکل، محققان در نرم‌افزار IMDEA FIXCHECK را ایجاد کردند، رویکرد جدیدی برای بهبود خروجی تحلیل‌های صحت وصله که تجزیه و تحلیل استاتیک، آزمایش تصادفی و مدل‌های زبان بزرگ (LLM) را ترکیب می‌کند تا به‌طور خودکار آزمایش‌هایی را برای شناسایی خطاها در وصله‌های بالقوه نادرست ایجاد کند.

FIXCHECK از یک فرآیند دو مرحله ای استفاده می کند. مرحله اول شامل ایجاد تست های تصادفی، به دست آوردن مجموعه بزرگی از موارد تست است. گام دوم بر استفاده از مدل‌های زبانی بزرگ متکی است که از آن‌ها برای هر مورد آزمون، ادعاهای معنادار استخراج می‌شود.

علاوه بر این، FIXCHECK شامل مکانیزم انتخاب و اولویت‌بندی است که موارد آزمایشی جدید را روی نرم‌افزار وصله‌شده اجرا می‌کند و سپس این آزمایش‌ها را بر اساس احتمال تشخیص خطا در وصله حذف یا رتبه‌بندی می‌کند.

فاکوندو مولینا، محقق فوق دکترا در موسسه نرم افزاری IMDEA، می گوید: «اثربخشی FIXCHECK در ایجاد موارد آزمایشی که باگ ها را در وصله های نامعتبر شناسایی می کند، بر روی 160 وصله، از جمله وصله های ایجاد شده توسط توسعه دهندگان و وصله های ایجاد شده توسط ابزارهای RPA، ارزیابی شد.

نتایج نشان می‌دهد که FIXCHECK می‌تواند به طور موثر بررسی‌های تشخیص اشکال را برای ۶۲ درصد از وصله‌های بد نوشته شده توسط توسعه‌دهندگان، با درجه اطمینان بالایی ایجاد کند. علاوه بر این، با ارائه موارد آزمایشی که باگ‌های تا 50 درصد از وصله‌های بد شناسایی شده توسط تکنیک‌های پیشرفته را شناسایی می‌کند، تکنیک‌های ارزیابی پچ موجود را تکمیل می‌کند.

FIXCHECK با ارائه راه حلی قدرتمند برای تولید خودکار تست و تشخیص خطا در حین تعمیر و نگهداری نرم افزار، یک پیشرفت بزرگ در زمینه تعمیر و نگهداری نرم افزار است. این رویکرد نه تنها اثربخشی اعتبار سنجی وصله را بهبود می بخشد، بلکه پذیرش گسترده تر روش های تعمیر خودکار نرم افزار را نیز ترویج می کند.

اطلاعات بیشتر:
Facundo-Molina و همکاران، بهبود تحلیل صحت وصله از طریق آزمایش تصادفی و مدل‌های زبان بزرگ (بسته بازگشتی)، زنودو (2024). doi: 10.5281/xinodo.10498173

ارائه شده توسط موسسه نرم افزاری IMDEA

نقل قول:A New Approach Improves Automatic Software Repair Through Generating Test Cases (2024، 23 ژوئیه) بازیابی شده در 23 ژوئیه 2024 از https://techxplore.com/news/2024-07-approach-automatic-software-generating-cases.html

این برگه یا سند یا نوشته تحت پوشش قانون کپی رایت است. علیرغم هرگونه معامله منصفانه به منظور مطالعه یا تحقیق خصوصی، هیچ بخشی از آن بدون اجازه کتبی قابل تکثیر نیست. محتوا فقط برای مقاصد اطلاعاتی ارائه شده است.

منبع

بخوان  تشخیص گازهای ساده به‌وسیله رنگ آنها