À cette fin, Canonical, en collaboration avec UK Research and Innovation, finance un projet de doctorat de trois ans visant à créer une plate-forme qui traduira des centaines de milliers de lignes de code C en Rust. Le projet sera dirigé par le professeur Meng Wang, avec Seager et le Dr Cristina David comme co-superviseurs du doctorant Alex Wood.
Ce n’est pas aussi facile que cela puisse paraître, a écrit Seager. « Les traducteurs source-à-source traditionnels peuvent traiter des quantités substantielles de code, mais préservent souvent la structure du C de manière trop littérale. Le résultat peut être compilé en Rust, mais s’appuie toujours fortement sur des opérations non sécurisées, conserve des idiomes C maladroits et nécessite un travail manuel important avant de ressembler au code qu’un mainteneur de Rust choisirait de posséder. »
D’un autre côté, un grand modèle de langage (LLM) peut créer un « Rust convaincant et idiomatique », mais a du mal avec le « contexte à l’échelle du référentiel », a déclaré Seager. Et, a-t-il ajouté, « plus important encore, un résultat apparemment plausible ne prouve pas que le programme traduit se comporte comme sa source ».
