مایکروسافت هوش مصنوعی توسعه داده است که می تواند اشکالات را در کد پیدا کند

نماد زمان خواندن 2 دقیقه خواندن


خوانندگان به پشتیبانی از MSpoweruser کمک می کنند. در صورت خرید از طریق پیوندهای ما ممکن است کمیسیون دریافت کنیم. نماد راهنمای ابزار

صفحه افشای ما را بخوانید تا بدانید چگونه می توانید به MSPoweruser کمک کنید تا تیم تحریریه را حفظ کند ادامه مطلب

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

محققین Miltos Allamanis، محقق اصلی و Marc Brockschmidt، مدیر ارشد تحقیقاتی اصلی، هوش مصنوعی خود، BugLabs را تقریباً به همان روشی که شبکه‌های متخاصم مولد (GANs) ایجاد می‌شوند، توسعه دادند.

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

مزیت این رویکرد این بود که فرآیند کاملاً تحت نظارت بود و نیازی به داده های برچسب دار نداشت.

آنها نتایج را به شرح زیر گزارش می کنند:

در تئوری، ما می‌توانیم بازی پنهان‌کاری را به طور گسترده اعمال کنیم و به ماشینی آموزش دهیم تا اشکالات پیچیده خودسرانه را شناسایی کند. با این حال، چنین اشکالاتی هنوز از دسترس روش های مدرن هوش مصنوعی خارج است. در عوض، ما روی مجموعه ای از اشکالات که معمولاً ظاهر می شوند تمرکز می کنیم. اینها شامل مقایسه های نادرست (مثلاً استفاده از «<=» به جای «<» یا «>»)، عملگرهای بولی نادرست (مثلاً استفاده از «و» به جای «یا» و بالعکس)، استفاده نادرست از متغیرها (مثلاً استفاده نادرست "i" به جای "j") و چند مورد دیگر. برای آزمایش سیستم خود، روی کد پایتون تمرکز می کنیم.

هنگامی که آشکارساز ما آموزش دید، از آن برای شناسایی و تعمیر اشکالات در کدهای واقعی استفاده می کنیم. برای اندازه‌گیری عملکرد، ما به‌صورت دستی مجموعه کوچکی از باگ‌ها را از بسته‌های موجود در فهرست بسته پایتون با چنین باگ‌هایی حاشیه‌نویسی می‌کنیم و نشان می‌دهیم که مدل‌هایی که با روش «پنهان و جست‌وجوی» ما آموزش داده شده‌اند تا 30 درصد در مقایسه با سایر گزینه‌ها بهتر هستند، به عنوان مثال، آشکارسازهایی که با باگ‌هایی که به‌طور تصادفی درج شده‌اند آموزش دیده‌اند. نتایج امیدوارکننده است و نشان می‌دهد که حدود 26 درصد از باگ‌ها را می‌توان به صورت خودکار پیدا و برطرف کرد. در میان اشکالاتی که آشکارساز ما پیدا کرد، 19 باگ ناشناخته در کدهای منبع باز واقعی GitHub بود. با این حال، نتایج همچنین بسیاری از هشدارهای مثبت کاذب را نشان داد، که نشان می‌دهد پیش از بکارگیری این مدل‌ها به پیشرفت‌های بیشتری نیاز است.

آنها به این نتیجه رسیدند که رویکرد آنها امیدوارکننده است، اگرچه البته کار بسیار بیشتری برای قابل اعتماد ساختن چنین آشکارسازهایی برای استفاده عملی مورد نیاز است. داده شده GPT-3 مایکروسافت روی GitHub کار می کند با این حال، این امکان وجود دارد که این اثر در نهایت تجاری شود.

مقاله آنها را کامل بخوانید اینجا کلیک نمایید.

بیشتر در مورد موضوعات: ai, توسعه دهندگان, مایکروسافت