Canonical تدعم مشروع بحث جديد لمدة ثلاث سنوات يهدف إلى جعل من الممكن ترجمة الكود C الكبير والناضج تلقائيًا إلى Rust آمن. تُعد هذه المبادرة تعاونًا بين Canonical وجامعة بريستول في المملكة المتحدة، ومن المتوقع أن يبدأ العمل لاحقًا في عام 2026.
الهدف الرئيسي للمشروع هو تطوير منصة كاملة قادرة على ترجمة مستودعات كبيرة من الكود، والتي غالبًا تحتوي على مئات الآلاف من أسطر الكود C، إلى Rust آمن وموثوق وسهل الصيانة. يكمن التحدي في الكم الهائل من برمجيات C القديمة التي لا تزال قيد الاستخدام؛ إعادة كتابة هذا الكود يدويًا تكلف وتُعَد خطيرة، بما أنه يحمل سنوات من الإصلاحات والتحسينات المتراكمة.
المترجمات الحالية من مصدر إلى مصدر تحل المشكلة جزئيًا فقط. على الرغم من أنها يمكنها التعامل مع كميات كبيرة من الكود، إلا أنها غالبًا ما تنسخ هياكل C بشكل وثيق جدًا، مما يؤدي إلى Rust لا يزال يعتمد على ميزات غير آمنة. من الناحية الأخرى، فإن النماذج اللغوية الكبيرة تتفوق في إنشاء Rust مميز لقطع صغيرة من الكود، لكنها تواجه صعوبة في السياق الأوسع لمستودعات كاملة.
للتغلية على هذه العقبات، سيعتمد المشروع على نهج هجيني، أو 'نيوروسيمبيوتيكي'، يجمع بين التعلم الآلي وتحليل البرامج التقليدي، والاختبار، والطرق الرسمية. يخطط Canonical لاستخدام AppArmor و snap-confine كدراسات حالة من العالم الحقيقي. تتوافق هذه المبادرة أيضًا مع اعتماد Canonical الأوسع لـ Rust داخل Ubuntu، كما هو ملحوظ في مشاريع مثل uutils coreutils و sudo-rs.
كيانات رئيسية: الشركات: Canonical، جامعة بريستول | المواقع: المملكة المتحدة
المصدر: Hacker News · لخّصه HeadlinesBriefing