כתיבת קוד היא רק הצעד הראשון ביצירת משהו. סירוק הקוד שלך אחר באגים ותיקונם הוא זמן רב ולעתים קרובות לוקח יותר זמן מהצפוי, אבל הוא צעד חיוני בכל זאת.
אם רק הייתה דרך לתקן באגים באופן אוטומטי שחורגת משגיאות תחביר ומבין באמת את הכוונות מאחורי הקוד שלך.
לאחרונה, מיקרוסופט פיתחה AI המסוגל לזהות ולתקן באגים בקוד באמצעות למידה עמוקה. אבל איך נוצרה פיסת הטכנולוגיה המהפכנית הזו, ואיך היא עובדת?
מה זה BugLab ואיך זה עובד?
BugLab הוא יישום Python של אינטליגנציה מלאכותית שמחפש ומתקן באגים בתוך קוד. הוא פותח על ידי מילטוס אלאמניס ומארק ברוקשמידט, שני חוקרים ב-Microsoft Research. הם הצליחו להתגבר על היעדר נתונים מתויגים בהם נעשה שימוש לעתים קרובות למידת מכונה על ידי פנייה ללמידה בפיקוח עצמי ומאפשרת ל-BugLab לאמן את עצמו באמצעות משחק "מחבואים" עם שורות קוד.
BugLab הוכשר באמצעות שני מודלים מחשוב; אחד שמסתיר באגים בתוך קטעי קוד נכונים, ואחר שמחפש ומתקן את הבאגים. שני הדגמים לומדים זה מזה ללא הרף. עם הזמן, בורר הבאגים משתפר בהסתרת באגים בקוד, והגלאי משתפר בללכוד ולתקן אותם.
הבנת הקוד עם BugLab
רוב הבאגים ש-BugLab AI מאומן לזהות ולתקן אינם גורמים לשגיאות לוגיות אלא שגויות רק כתוצאה מההקשר הכללי של הקוד. הבנת כוונת המפתח חיונית למציאת באגים אלה.
טיפול בקטעי קוד באותו אופן כמו עיבוד שפות טבעיות מניב תוצאות לא אופטימליות. עדיין קשה ל-AI להבין את הקשר בין הצהרות שונות כשהן מפוצלות לאסימונים בודדים.
במקום זאת, BugLab מסתכל על הקוד כמכלול. כך, כל תחביר, ביטוי, סמל ומזהה מיוצגים כנקודות בגרף, מה שמאפשר ל-AI "להבין" את הקשר והקשר בין צמתים שונים.
ארכיטקטורות של רשתות עצביות לאחר מכן משמשים לאימון ה-AI לניפוי באגים. הם מסוגלים למשוך תובנות מהמבנה העשיר של גרף הקוד ולספק סיבות ליחסים של כל צומת עם האחרים.
האם BugLab עובד על קוד אמיתי?
חשוב לציין כי BugLab אינו תחליף למתכנת מיומן. הסיבה לכך היא שבאגים מורכבים עדיין אינם בהישג יד.
המטרה של מיקרוסופט עם ה-AI היא לזהות ולתקן באגים שכיחים כמו אופרטורים בוליאניים שגויים, כמו השימוש ב"או" במקום "ו" ולהיפך, בנוסף להשוואת ערכים הפוכים ומשתנים שימוש לרעה.
לפי מיקרוסופט, התוצאות מבטיחות, שכן BugLab מסוגל לזהות ולתקן אוטומטית כ-26 אחוז מהבאגים בחתיכת קוד. ובכל זאת, אחוז משמעותי של דיוק עדיין אובד עקב תוצאות חיוביות שגויות ובאגים שהוחמצו.
יישומים עתידיים של Microsoft BugLab
המטרה של מיקרוסופט עם BugLab היא לחסוך למפתחי תוכנה זמן, ולעיתים קרובות השקיעו בבדיקת הקוד שלהם בחיפוש אחר הבאגים הקטנים ביותר.
אמנם מודל ניפוי הבאגים של AI עדיין בתהליך עבודה, יש לו סיכוי איתור ותיקון באגים שנעים בכל מקום בין לא נוח לקטסטרופלי. אבל בעוד כמה שנים, אתה יכול לצפות ש-BugLab יהפוך לחובה בערכת הכלים של כל מפתח, גם אם היא לא מושלמת.
האבולוציה האקספוננציאלית של בינה מלאכותית להוראה עצמית
ככל שיש לדגמי AI כמו BugLab יותר זמן להתאמן על דוגמאות מהחיים האמיתיים, כך הם יניבו תוצאות טובות ומדויקות יותר.
אחד המכשולים המאתגרים ביותר שעמדו בפני חוקרי מיקרוסופט בעת פיתוח BugLab היה שימוש בהבנה אנושית של קוד וכוונות בכלי. אבל עכשיו, כשבעיקר זה נפתר, אתה יכול לצפות ש-BugLab ישתפר עם הזמן.
מנסה להבין את ההבדל בין בינה מלאכותית, למידת מכונה ולמידה עמוקה? הנה המשמעות של כולם.
קרא הבא
- תִכנוּת
- מיקרוסופט
- טיפים לקידוד
- בינה מלאכותית
אנינה היא כותבת טכנולוגיה ואבטחת אינטרנט עצמאית ב-MakeUseOf. היא התחילה לכתוב באבטחת סייבר לפני 3 שנים בתקווה להפוך אותו לנגיש יותר לאדם הממוצע. נלהב ללמוד דברים חדשים וחנון ענק אסטרונומיה.
הירשם לניוזלטר שלנו
הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!
לחץ כאן כדי להירשם