DeepCode با استفاده از هوش مصنوعی خطاهایی را در کد منبع نرم افزار پیدا می کند

امروز یک استارت آپ سوئیسی دیپ کدکه از هوش مصنوعی و یادگیری ماشین برای خودکارسازی تحلیل کد استفاده می کند، اعلام کرد که 4 میلیون دلار سرمایه گذاری از صندوق های خطرپذیر Earlybird، 3VC و Btov Partners دریافت کرده است. این شرکت قصد دارد از این بودجه برای ارائه پشتیبانی از زبان های برنامه نویسی جدید در خدمات خود و همچنین بازاریابی محصول در بازار جهانی فناوری اطلاعات استفاده کند.

DeepCode با استفاده از هوش مصنوعی خطاهایی را در کد منبع نرم افزار پیدا می کند

تجزیه و تحلیل کد برای شناسایی خطاها، آسیب پذیری های احتمالی، نقض قالب بندی، و موارد دیگر در مراحل اولیه توسعه نرم افزار، قبل از استفاده از کد در هر مکانی، ضروری است. به طور معمول، این روش به موازات توسعه کد جدید و بلافاصله پس از تکمیل آن، قبل از خود مرحله آزمایش انجام می شود. بوریس پاسکالف، یکی از بنیانگذاران و مدیرعامل DeepCode در مصاحبه ای با VentureBeat توضیح می دهد: "تست نرم افزار از بیرون به کد نگاه می کند، اما تجزیه و تحلیل کد به شما امکان می دهد از درون به آن نگاه کنید."

اغلب، بررسی کد توسط نویسندگان آن همراه با همکاران و مدیران انجام می شود تا قبل از حرکت به مراحل بعدی توسعه، خطاهای آشکار شناسایی شوند. و هر چه پروژه بزرگتر باشد، خطوط کد بیشتری باید بررسی شود، که مقدار قابل توجهی از زمان برنامه نویسان را می گیرد. ابزارهایی که باید این فرآیند را تسریع کنند، مدت‌هاست که وجود داشته‌اند، مانند تحلیلگرهای کد استاتیک مانند Coverity و PVS-Studio، اما معمولاً توانایی‌هایشان محدود است زیرا روی «مسائل سبک مزاحم و تکراری، قالب‌بندی و قالب‌بندی تمرکز می‌کنند». خطاهای منطقی کوچک،” Paskalev توضیح می دهد.

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

یکی از سوالات کلیدی هنگام استفاده از DeepCode این است: بررسی خودکار کد چقدر قابل اعتماد است؟ دقت تجزیه و تحلیل کمتر از 100٪ به این معنی است که توسعه دهندگان همچنان باید کد خود را به صورت دستی تجزیه و تحلیل کنند. اگر چنین است، استفاده از ابزارها برای خودکارسازی این کار چقدر زمان را آزاد می کند؟ به گفته Paskalev، DeepCode می‌تواند حدود 50 درصد از زمانی را که توسعه‌دهندگان در حال حاضر صرف جستجوی خطاها می‌کنند، صرفه‌جویی کند، که رقم بسیار قابل توجهی است.

توسعه دهندگان می توانند DeepCode را به حساب های GitHub یا Bitbucket خود متصل کنند و این ابزار همچنین از تنظیمات محلی GitLab پشتیبانی می کند. علاوه بر این، این پروژه دارای یک API ویژه است که به توسعه دهندگان اجازه می دهد تا DeepCode را در سیستم های توسعه خود ادغام کنند. پس از اتصال به مخزن، DeepCode هر تغییر کد را تجزیه و تحلیل می کند و مشکلات احتمالی را علامت گذاری می کند.

DeepCode با استفاده از هوش مصنوعی خطاهایی را در کد منبع نرم افزار پیدا می کند

بوریس می گوید: «به طور متوسط، توسعه دهندگان حدود 30 درصد از زمان خود را صرف یافتن و رفع اشکال می کنند، اما DeepCode می تواند نیمی از این زمان را در حال حاضر و حتی بیشتر در آینده صرفه جویی کند. از آنجایی که DeepCode مستقیماً از جامعه جهانی توسعه‌دهندگان می‌آموزد، می‌تواند مشکلات بیشتری را نسبت به یک شخص یا کل گروه بازبین پیدا کند.

دیپ کد علاوه بر خبر دریافت سرمایه گذاری امروز، سیاست ارزشی جدیدی را نیز برای محصول خود اعلام کرد. تا به حال، DeepCode فقط برای پروژه های توسعه نرم افزار منبع باز رایگان بوده است. اکنون برای استفاده برای هر هدف آموزشی و حتی برای شرکت های تجاری با کمتر از 30 توسعه دهنده رایگان خواهد بود. بدیهی است که با این مرحله، سازندگان دیپ کد می خواهند محصول خود را در بین تیم های کوچک محبوب تر کنند. علاوه بر این، DeepCode 20 دلار برای هر توسعه دهنده در ماه برای استقرار ابر و 50 دلار برای هر توسعه دهنده برای پشتیبانی محلی دریافت می کند.

پیش از این، تیم DeepCode قبلاً یک میلیون دلار سرمایه گذاری کرده بود. با 1 میلیون دیگر، این شرکت اعلام کرد که قصد دارد زبان های برنامه نویسی خود را فراتر از جاوا، جاوا اسکریپت و پایتون گسترش دهد، از جمله افزودن پشتیبانی برای C#، PHP و C/C++. آنها همچنین تأیید کردند که روی محیط توسعه یکپارچه خود کار می کنند.



منبع: 3dnews.ru

اضافه کردن نظر