TFix: تعلّم إصلاح أخطاء البرمجة باستخدام محول نصّ إلى نصّ

لقد جذبت مشكلة إصلاح الأخطاء في البرامج اهتمامًا كبيرًا على مر السنين. والتحدي الرئيسي في بناء أداة فعالة لإصلاح الكود هو القدرة على التقاط طيف واسع من الأخطاء مع الحفاظ على دقة عالية في الوقت نفسه. في هذه الورقة، نتناول هذا التحدي ونقدّم نظامًا جديدًا قائمة على التعلم يُسمى TFix. يعمل TFix مباشرة على نص الكود، ويعالج مشكلة إصلاح الكود كمهمة من نص إلى نص. وبذلك، يمكنه الاستفادة من نموذج قوي مبني على معمارية Transformer، تم تدريبه مسبقًا على اللغة الطبيعية، ثم تدريبه بدقة لتقديم إصلاحات كود (من خلال مجموعة بيانات ضخمة وعالية الجودة تم جمعها من مراجعات GitHub). ولا يقتصر TFix على لغة برمجة معينة أو نوع معين من العيوب، بل على العكس، فقد عزز دقة النموذج من خلال التدريب الدقيق المتزامن على 52 نوعًا مختلفًا من الأخطاء المبلغ عنها بواسطة مُحلل ثابت شهير. وتشير تقييماتنا على مجموعة بيانات ضخمة من برامج JavaScript إلى أن TFix فعّال عمليًا: فهو قادر على توليد كود يُصلح الخطأ في 67٪ من الحالات، ويتفوق بشكل ملحوظ على الطرق القائمة على التعلم الموجودة حاليًا.