it’s joever for Cniles (I am one of them 😔)

  • citrussy_capybara [ze/hir]@hexbear.net
    link
    fedilink
    English
    arrow-up
    16
    ·
    2 days ago

    us military to run C code through chatGPT to get rust code

    recent breakthroughs in machine learning techniques, like large language models (LLMs), have created an environment that may lend itself to a new class of solutions.

    DARPA’s Translating All C to Rust (TRACTOR) program wants to seize this opportunity by substantially automating the translation of the world’s legacy C code to Rust.

    “You can go to any of the LLM websites, start chatting with one of the AI chatbots, and all you need to say is ‘here’s some C code, please translate it to safe idiomatic Rust code,’ cut, paste, and something comes out, and it’s often very good

  • Zvyozdochka [she/her, comrade/them]@hexbear.net
    link
    fedilink
    English
    arrow-up
    25
    ·
    edit-2
    2 days ago

    This sounds cool in theory, but would be extremely hard to pull off in any kind of meaningful fashion I think simply because Rust is just too different from C. You can probably make something to very roughly “transpile” C to Rust, but the Rust code that is generated probably wouldn’t be good and will probably be a pain to work with simply because it’d end up being a mess and at that point, if you’re going to have to end up refactoring a ton of generated code, you may as well just rewrite it yourself so it is actually half decent code.

    • DefinitelyNotAPhone [he/him]@hexbear.net
      link
      fedilink
      English
      arrow-up
      12
      ·
      2 days ago

      Also considering that a lot of this C code is going to be extremely critical code pathways, like making sure your banks don’t collapse and your energy plants don’t blow up, the major pain paths for migrating to another language are going to be rigorously testing every last path through it, not rewriting it.

      • Speaker [e/em/eir]@hexbear.net
        link
        fedilink
        English
        arrow-up
        7
        ·
        edit-2
        1 day ago

        Your bank runs on COBOL and your energy plants run on one of a family of PLC (programmable logic controller) languages. Most of the critical path in your day-to-day that runs C is the gaping security hole that is the internet.

  • AOCapitulator [they/them, she/her]@hexbear.net
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    2 days ago

    instead of using pooled resources to create a new program which would educate and gainfully employ thousands or tens of thousands (idk how big a task this is as I’m tech illiterate but I’m blindly assuming its on the scale of the US national highway system when first implemented) they’re going to use a robot to make bad code

    capitalism is very efficient

  • bumpusoot [any]@hexbear.net
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    2 days ago

    Instead of mass translating C code in some insane ready-to-ruin codebases project, why not just… make a compiler that addresses the vulnerabilities?

    • Speaker [e/em/eir]@hexbear.net
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 day ago

      They did, it’s called rustc. A compliant C compiler cannot escape giving a programmer unfettered access to manipulate memory, so the problem is not in the compiler. There are safe subsets of C that don’t exhibit these problems, but a compiler that only supports such a subset is no longer a C compiler.

  • Comrade Rain@lemmygrad.ml
    link
    fedilink
    English
    arrow-up
    6
    ·
    2 days ago

    I actually find Rust pretty OK. The only things that I don’t like about Rust is its quirky syntax. And its primitive implementation of OOP. And its compiler. And cargo. And the ecosystem…

    OK well maybe I don’t find Rust actually OK. Why did we have to invent a whole new language if we could improve standards and compilers for existing languages?

  • hypercracker [he/him]@hexbear.net
    link
    fedilink
    English
    arrow-up
    7
    ·
    2 days ago

    I do kinda like the idea of using CHERI to run all this C code with memory safety properties enforced by hardware instead of rewriting it all in rust, but whatever either works