Para esse fim, a Canonical, juntamente com a Pesquisa e Inovação do Reino Unido, está financiando um projeto de doutorado de três anos para criar uma plataforma que traduzirá centenas de milhares de linhas de código C em Rust. O projeto será liderado pelo Professor Meng Wang, com Seager e Dra. Cristina David como co-orientadores do aluno de doutorado Alex Wood.
Não é tão fácil quanto pode parecer, escreveu Seager. “Tradutores tradicionais de fonte a fonte podem processar quantidades substanciais de código, mas muitas vezes preservam a estrutura do C muito literalmente. O resultado pode ser compilado como Rust, mas ainda depende fortemente de operações inseguras, retém expressões C estranhas e requer trabalho manual significativo antes que se assemelhe ao código que um mantenedor do Rust escolheria possuir.”
Por outro lado, um modelo de linguagem grande (LLM) pode criar “ferrugem idiomática e convincente”, mas tem dificuldades com o “contexto em escala de repositório”, disse Seager. E, acrescentou, “mais importante ainda, um resultado aparentemente plausível não é evidência de que o programa traduzido se comporta como sua fonte”.
