DeepCode מביא סקירת קוד המופעלת על ידי AI ל- C ו- C ++

DeepCode, שירות הענן המשתמש בלמידת מכונה לניתוח בסיסי קוד על פגמי אבטחה ובאגים פוטנציאליים, יכול כעת לנתח קוד C ו- C ++.

מאומן על ידי ניתוח אלפי פרויקטים בקוד פתוח, DeepCode מספק משוב לפרויקטים בפלטפורמות אירוח קוד או במאגרים מקומיים. היוצרים של DeepCode טוענים שהוא מספק משוב טוב ומפורט יותר מכלי ניתוח קוד מסורתיים מכיוון שהוא מנתח קוד בהקשרו - לא רק כטקסט, אלא כתוכנה פועלת.

רוב הפגיעות שנמצאות בתוכנה מופיעות בבסיסי C או C ++. עד כמה שתי השפות עוצמתיות, הן מספקות מעט או ללא הגנה מפני טעויות מפתח, וגרסאות חדשות יותר של שפות אלה נאלצות לשמור על תאימות לאחור וכך להישאר פגיעות. 

בסיס הידע של DeepCode בנושאים מקיף בעיות נפוצות רבות שנמצאות ב- C ו- C ++ כמו גם בשפות אחרות: סוגיות בסגנון, דליפות משאבים, בעיות בהקצאת זיכרון, בעיות טיפול בתאריכים וחוסר תאימות בין גרסאות של שפה.

בניתוח של ליבת לינוקס, DeepCode מצא מספר בעיות נפוצות בבסיסי C, כולל פרמטרים לא מנוטרלים שהועברו מארגומנטים של שורת פקודה או משתני סביבה, בעיות לאחר שימוש, ובדיקות חסרות מצביעי אפס. נושאים אחרים בקוד C הם עדינים יותר, כמו יצירה לא בטוחה של קבצים זמניים, או האפשרות שהוראות מסוימות עשויות להיות מותאמות בקומפילציה ולא יהיו להן האפקט המיועד.

כשהושק במקור, DeepCode תמך ב- Java, JavaScript, TypeScript ו- Python, אך תוכניות היו על השולחן עבור C, C ++ ושפות אחרות. על פי הודעת הבלוג שהכריזה על תמיכה ב- C / C ++, הוספת ניתוח קוד ל- C ו- C ++ ארכה שלושה חודשי עבודה בגלל מורכבות הכרוכה בתכונות הנמוכות של C / C ++.