Announcement

Collapse
No announcement yet.

Autocheck To Check If Your C++ Code Is Safe For Automobiles & Safety Critical Systems

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Autocheck To Check If Your C++ Code Is Safe For Automobiles & Safety Critical Systems

    Phoronix: Autocheck To Check If Your C++ Code Is Safe For Automobiles & Safety Critical Systems

    Being developed the past several years by the SYRMIA embedded software firm is Autocheck, an LLVM/Clang-based project to check C and C++ code to evaluate if it's suitable for running inside automobiles and other safety critical environments. Autocheck is now free and open-source for those wanting to help evaluate the safety of your C/C++ code...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Or, instead of a probably buggy checker, one just uses an actually memory safe language to start with? Just an quality automotive thought ;-)

    Comment


    • #3
      Uh oh, here comes the flame wars of the Rust elitist vs. the C elitist. (I use Rust btw)

      Comment


      • #4
        Sounds like a band-aid for something broken (C++), better use a real solution such as Rust instead.

        Comment


        • #5
          Originally posted by vextium View Post
          Uh oh, here comes the flame wars of the Rust elitist vs. the C elitist. (I use Rust btw)
          yeah those wars are becoming boring

          on another note, this tool is a good thing obviously, but given the C++ memory model, it remains that checking a program ( in a mathematical way, with deterministic certainty ) remains an undecidable problem, so no luck

          and yes, Rust restrictions exist exactly to make this problem a decidable one, enabling the compiler to deterministically verify the presence of bugs and other erroneous conditions

          Comment


          • #6
            Originally posted by vextium View Post
            Uh oh, here comes the flame wars of the Rust elitist vs. the C elitist. (I use Rust btw)
            Real programmers manually punch cards.

            Comment


            • #7
              Originally posted by rene View Post
              Or, instead of a probably buggy checker, one just uses an actually memory safe language to start with? Just an quality automotive thought ;-)
              The automotive industry is going to use such a language for sure. It's inevitable despite what the old farts that hate change says.

              Comment


              • #8
                I appreciate this. A possible improvement is welcome.
                Do similar checks for Misra C and Misra C++ exist?

                Originally posted by rene View Post
                Or, instead of a probably buggy checker, one just uses an actually memory safe language to start with? Just an quality automotive thought ;-)
                This kind of comments like "I like x more" are so internet. Useless.

                Millions of devices do and will run C and C++ and other languages now and for decades. Actually a lot of our infrastructure runs right now with COBOL.
                Luckily people which developed Valgrind and AddressSanitizer decided to improve the situation and gave us the ability to check our code for memory leaks or undefined behavior. The later is already part of the compilers for years - turn it on. And I hope the things like CPP2 will finally land in upcoming C++ Standards (that is unlikely for C):

                Code:
                have type and memory safety by default (e.g., make the [URL="https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#S-profile"]C++ Core Guidelines safety profiles[/URL] the default and required);​
                I want so see #safe, #unsafe, #impldef and #def to see in C++. Because all the code in Linux, GCC, System, Coreutils, Gtk, GNOME, WebKit could be improved. Instead of begging for something which want happen. We cannot reimplement all the code instant with a new language. And even when we could the used language will be either considered outdated, insecure, bloated or complicated.

                Comment


                • #9
                  Originally posted by rene View Post
                  Or, instead of a probably buggy checker, one just uses an actually memory safe language to start with?
                  Originally posted by uid313 View Post
                  Sounds like a band-aid for something broken (C++), better use a real solution such as Rust instead.
                  Unfortunately the industry has already decided and are happy earning money rather than talking about rewriting it in Rust

                  Originally posted by dlq84 View Post

                  The automotive industry is going to use such a language for sure. It's inevitable despite what the old farts that hate change says.
                  Absolutely. For sure!

                  ... but it will be well after our lifespan (and probably kids and grandkids) lifespan unfortunately. Best not to dwell and lets just use C++ for now though. 90% safety for *actually producing something* is quite a good compromise.
                  Last edited by kpedersen; 18 January 2024, 09:49 AM.

                  Comment


                  • #10
                    Originally posted by kpedersen View Post
                    Unfortunately the industry has already decided and are happy earning money rather than talking about rewriting it in Rust
                    Fortunately*

                    Comment

                    Working...
                    X