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

این روش جدید که Baldur نام دارد، از قدرت هوش مصنوعی مدل‌های زبان بزرگ (LLM) استفاده می‌کند و هنگامی که با ابزار پیشرفته Thor ترکیب می‌شود، اثربخشی بی‌سابقه‌ای نزدیک به 66 درصد به دست می‌دهد. این تیم اخیراً در کنفرانس و سمپوزیوم مشترک مهندسی نرم افزار اروپایی ACM در زمینه مبانی مهندسی نرم افزار و تحقیق کد نرم افزار با هوش مصنوعی جایزه مقاله ممتاز را دریافت کرد.

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

البته از زمانی که نرم افزار وجود داشته، روش هایی برای بررسی وجود داشته است. یکی از روش‌های رایج برای تایید کد نرم افزار که ساده‌ترین روش است: شما از یک انسان می‌خواهید که کد را خط به خط مرور کند و به صورت دستی تایید کند که هیچ خطایی وجود ندارد. یا می توانید کد را اجرا کنید و آن را با آنچه انتظار دارید انجام دهد بررسی کنید.

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

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

آدرس IP بیشتر بخوانید: افشای داده‌های کاربران از طریق آدرس آی پی IP

با ظهور LLM ها، که ChatGPT معروف ترین نمونه آن است، یک راه حل ممکن این است که سعی کنیم چنین اثبات هایی را به صورت خودکار تولید کنیم.

اینجاست که Baldur وارد می شود.

این فرآیند افزایش قابل توجهی در دقت به همراه دارد. ابزار پیشرفته‌ای برای تولید خودکار تایید کد نرم افزار، Thor نام دارد که می‌تواند در ۵۷ درصد مواقع اثبات تولید کند. وقتی Baldur با Thor مکمل می‌شود، این دو می‌توانند در 65.7 درصد مواقع اثبات درستی کنند.

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


تالیف:
فروشگاه اینترنتی آ.اس.پ (اقتباس از مقاله‌ای از Techxplore)
در صورت استفاده از این مقاله، نام و آدرس فروشگاه اینترنتی آ.اس.پ را به عنوان منبع ذکر کنید.