EvoC2Rust: תרגום פרויקטי C מלאים ל-Rust בביצועים גבוהים
מחקר

EvoC2Rust: תרגום פרויקטי C מלאים ל-Rust בביצועים גבוהים

מסגרת אוטומטית חדשה משלבת LLM וניתוח סטטי כדי להתגבר על אתגרי תרגום קוד ישן למערכות בטוחות

2 דקות קריאה

תקציר מנהלים

נקודות עיקריות

  • EvoC2Rust מפרקת פרויקטי C למודולים ויוצרת שלד Rust קומפלי.

  • תרגום הדרגתי של פונקציות עם תיקון שגיאות אוטומטי.

  • עליונות של 17.24% בדיוק תחבירי ו-14.32% סמנטי על LLM baselines.

  • שיפור של 43.59% בבטיחות קוד לעומת כלים מבוססי כללים.

EvoC2Rust: תרגום פרויקטי C מלאים ל-Rust בביצועים גבוהים

  • EvoC2Rust מפרקת פרויקטי C למודולים ויוצרת שלד Rust קומפלי.
  • תרגום הדרגתי של פונקציות עם תיקון שגיאות אוטומטי.
  • עליונות של 17.24% בדיוק תחבירי ו-14.32% סמנטי על LLM baselines.
  • שיפור של 43.59% בבטיחות קוד לעומת כלים מבוססי כללים.
בעולם שבו מערכות בטיחות קריטיות דורשות קוד אמין יותר, תרגום מאגרי קוד C ותיקים ל-Rust הופך לצורך דחוף. אולם, שיטות קיימות נתקלות בקשיים: גישות מבוססות כללים מתקשות לעמוד בדרישות בטיחות וסגנון טבעי, בעוד שיטות מבוססות LLM נכשלות בשמירה על שוויון סמנטי בגלל תלות בין מודולים. מחקר חדש מציג את EvoC2Rust, מסגרת אוטומטית לתרגום פרויקטים שלמים מ-C ל-Rust שמתמודדת בהצלחה עם אתגרים אלה. EvoC2Rust משתמשת באסטרטגיית תרגום מונחית שלד (skeleton-guided). בשלב הראשון, היא מפרקת את פרויקט ה-C למודולים פונקציונליים, משתמשת ב-LLM משודרג עם מיפוי תכונות להמרת הגדרות ומקרו, ומייצרת stubs של פונקציות שנבדקו סמנטית כדי ליצור שלד Rust שניתן לקמפל. בשלב השני, היא מתרגמת פונקציות באופן הדרגתי ומחליפה את ה-stubs המקבילים. לבסוף, בשלב שלישי, היא מתקנת שגיאות קמפילציה באמצעות שילוב LLM וניתוח סטטי. המסגרת משלבת יתרונות של גישות מבוססות כללים ו-LLM באמצעות שדרוג אבולוציוני. הערכה על סטי ביצועים פתוחים ושישה פרויקטים תעשייתיים מראה עליונות: EvoC2Rust עולה על הבסיס LLM הטוב ביותר ב-17.24% בדיוק תחבירי וב-14.32% בדיוק סמנטי, וגבוהה ב-43.59% משיעור הבטיחות של הכלי מבוסס כללים הטוב ביותר. המשמעות של EvoC2Rust גדולה במיוחד למפתחים ומנהלי פרויקטים בישראל, שם תעשיית ההייטק משתמשת רבות בקוד C ותיק במערכות IoT, רכב אוטונומי וביטחון. המסגרת מאפשרת מעבר חלק ל-Rust, שמציע בטיחות זיכרון מובנית ללא garbage collector, ומפחיתה סיכונים. בהשוואה לחלופות, היא מתאימה לפרויקטים בקנה מידה גדול, מה שחוסך זמן ומשאבים. עבור מנהלי טכנולוגיה, EvoC2Rust פותחת דלתות לשדרוג מאגרי קוד קיימים. כיצד תשלבו כלי זה בפרויקט הבא שלכם כדי להבטיח בטיחות גבוהה יותר?

שאלות ותשובות

שאלות נפוצות

אהבתם את הכתבה?

הירשמו לניוזלטר שלנו וקבלו עדכונים חמים מעולם ה-AI ישירות למייל

המידע שתמסור ישמש ליצירת קשר ומתן שירותים. למידע נוסף ראה מדיניות פרטיות ותנאי שימוש

עוד כתבות שיעניינו אותך

לכל הכתבות
זיהוי עמימות הוראות 3D: פריצת דרך בבטיחות AI
מחקר
2 דקות

זיהוי עמימות הוראות 3D: פריצת דרך בבטיחות AI

החוקרים בנו את Ambi3D, מאגר הנתונים הגדול ביותר למשימה זו עם למעלה מ-700 סצנות 3D מגוונות וכ-22 אלף הוראות. ניתוח מראה שמודלי שפה גדולים 3D מתקדמים נכשלים בזיהוי אמין של עמימות. כדי להתמודד עם האתגר, הם מציעים את AmbiVer – מסגרת דו-שלבית שאוספת ראיות חזותיות ממספר זוויות ומנחה מודל שפה-ראייה לשיפוט העמימות. ניסויים מקיפים מוכיחים את יעילות AmbiVer ומדגישים את קושי המשימה.

Ambi3DAmbiVerarXiv
קרא עוד