As part of the collaboration between Canonical and the University of Bristol, the project will target AppArmor and snap-confine as industrial case studies. Both are critical to Ubuntu’s security posture, and provide a substantially harder test than isolated translation examples. They will help us evaluate whether the techniques can cope with the structure and constraints of mature production software.

Note that this is not a commitment to replace AppArmor or snap-confine with what is generated, rather that we have a vested interest in the software and are keen to see the results.

The most optimistic outcome would be a system capable of translating substantial C repositories into Rust with strong evidence of behavioural equivalence and relatively little manual intervention. The research could also produce better methods for decomposing repositories, stronger validation techniques, reusable translation datasets, improved program-repair tools and a more precise understanding of where automated migration stops being reliable.

  • JAPHacake@feddit.uk
    link
    fedilink
    arrow-up
    1
    ·
    2 hours ago

    coreutils ships with Ubunutu 26.04, albeit with a number of caveats.

    Package: rust-coreutils 
    Version: 0.8.0-0ubuntu3 
    Priority: required 
    Section: utils 
    Origin: Ubuntu 
    Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> 
    Original-Maintainer: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> 
    Bugs: https://bugs.launchpad.net/ubuntu/+filebug 
    Installed-Size: 16.0 MB 
    Depends: libc6 (>= 2.43), libgcc-s1 (>= 4.2), libselinux1 (>= 3.1~) 
    Conflicts: coreutils-from-uutils (<< 0.0.0~ubuntu22~) 
    Homepage: https://github.com/uutils/coreutils 
    Task: minimal 
    Download-Size: 4,235 kB 
    APT-Manual-Installed: no 
    APT-Sources: http://archive.ubuntu.com/ubuntu resolute/main amd64 Packages 
    Description: Universal coreutils utils, written in Rust 
     This packages replaces the GNU coreutils package written in C. 
     It should be a drop-in replacement but: 
      Some options have NOT been implemented, 
      Might have important bugs, 
      Might be slower, 
      Output of the binaries might be slightly different.