Automatically Translating C to Rust.

Migrating legacy systems from C to Rust offers a promising path to improve software reliability due to Rust’s strong safety guarantees. Automatic translators can assist this process, but current tools often produce code that is unsafe or unidiomatic, relying on features not fully validated by the Ru...

Descripción completa

Detalles Bibliográficos
Publicado en:Communications of the ACM Vol. 68; no. 11; pp. 58 - 66
Autores principales: Hong, Jaemin, Ryu, Sukyoung
Formato: Artículo
Publicado: Association for Computing Machinery Nov2025
Materias:
Acceso en línea:Ver este registro en EBSCOhost
fields @attributes:
  recordID: 1
pdfLink:
plink: https://search.ebscohost.com/login.aspx?direct=true&db=hlh&AN=188947693&site=ehost-live
header:
  @attributes:
    shortDbName: hlh
    uiTerm: 188947693
    longDbName: Humanities International Complete
    uiTag: AN
  controlInfo:
    bkinfo:
    jinfo:
      jid:
        00010782
        ACM
      jtl: Communications of the ACM
      issn: 00010782
      maglogo: N
    pubinfo:
      dt: Nov2025
      vid: 68
      iid: 11
      pid: 68
      pub: Association for Computing Machinery
    artinfo:
      ui:
        188947693
        10.1145/3737696
      ppf: 58
      ppct: 8
      formats:
      tig:
        atl: Automatically Translating C to Rust.
      aug:
        au:
          Hong, Jaemin
          Ryu, Sukyoung
        affil:
          KAIST, School of Computing, Daejeon, Daejeon, Korea
          KAIST, Daejeon, Daejeon, Korea
      su:
        C (Computer program language)
        Programming languages
        Computer programming
        Legacy systems
        Compilers (Computer programs)
        Language models
        Translators (Computer programs)
      sug:
        subj:
          C (Computer program language)
          Programming languages
          Computer programming
          Legacy systems
          Compilers (Computer programs)
          Language models
          Translators (Computer programs)
      ab: Migrating legacy systems from C to Rust offers a promising path to improve software reliability due to Rust’s strong safety guarantees. Automatic translators can assist this process, but current tools often produce code that is unsafe or unidiomatic, relying on features not fully validated by the Rust compiler. The use of carefully designed static analyses and code transformations can enhance translations by replacing unsafe constructs with safe, idiomatic alternatives. Additionally, large language models present a potential approach to C-to-Rust translation, though they frequently introduce type errors or behavioral deviations, suggesting that combining large language models with static analysis could be a fruitful direction for future research.
      pubtype: Periodical
      doctype: Article
      src: R
    language: English
    refInfo:
    copyright:
      @attributes:
        flag: Y
      dt:
        @attributes:
          year: 2025
    holdings:
      @attributes:
        islocal: N