Automatically Translating C to Rust.

Saved in:
Bibliographic Details
Title: Automatically Translating C to Rust.
Authors: Hong, Jaemin1 (AUTHOR) jaemin.hong@kaist.ac.kr, Ryu, Sukyoung2 (AUTHOR) sryu.cs@kaist.ac.kr
Source: Communications of the ACM. Nov2025, Vol. 68 Issue 11, p58-65. 8p.
Subjects: C (Computer program language), Programming languages, Computer programming, Legacy systems, Compilers (Computer programs), Language models, Translators (Computer programs)
Abstract: 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.
Database: Engineering Source
FullText Links:
  – Type: pdflink
Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 188947693
AccessLevel: 6
PubType: Periodical
PubTypeId: serialPeriodical
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Automatically Translating C to Rust.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Hong%2C+Jaemin%22">Hong, Jaemin</searchLink><relatesTo>1</relatesTo> (AUTHOR)<i> jaemin.hong@kaist.ac.kr</i><br /><searchLink fieldCode="AR" term="%22Ryu%2C+Sukyoung%22">Ryu, Sukyoung</searchLink><relatesTo>2</relatesTo> (AUTHOR)<i> sryu.cs@kaist.ac.kr</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Communications+of+the+ACM%22">Communications of the ACM</searchLink>. Nov2025, Vol. 68 Issue 11, p58-65. 8p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22C+%28Computer+program+language%29%22">C (Computer program language)</searchLink><br /><searchLink fieldCode="DE" term="%22Programming+languages%22">Programming languages</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+programming%22">Computer programming</searchLink><br /><searchLink fieldCode="DE" term="%22Legacy+systems%22">Legacy systems</searchLink><br /><searchLink fieldCode="DE" term="%22Compilers+%28Computer+programs%29%22">Compilers (Computer programs)</searchLink><br /><searchLink fieldCode="DE" term="%22Language+models%22">Language models</searchLink><br /><searchLink fieldCode="DE" term="%22Translators+%28Computer+programs%29%22">Translators (Computer programs)</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: 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.
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=188947693
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1145/3737696
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 8
        StartPage: 58
    Subjects:
      – SubjectFull: C (Computer program language)
        Type: general
      – SubjectFull: Programming languages
        Type: general
      – SubjectFull: Computer programming
        Type: general
      – SubjectFull: Legacy systems
        Type: general
      – SubjectFull: Compilers (Computer programs)
        Type: general
      – SubjectFull: Language models
        Type: general
      – SubjectFull: Translators (Computer programs)
        Type: general
    Titles:
      – TitleFull: Automatically Translating C to Rust.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Hong, Jaemin
      – PersonEntity:
          Name:
            NameFull: Ryu, Sukyoung
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 11
              Text: Nov2025
              Type: published
              Y: 2025
          Identifiers:
            – Type: issn-print
              Value: 00010782
          Numbering:
            – Type: volume
              Value: 68
            – Type: issue
              Value: 11
          Titles:
            – TitleFull: Communications of the ACM
              Type: main
ResultId 1