Checked C

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. ikos

    Static analyzer for C/C++ based on the theory of Abstract Interpretation.

    In theory, sound static analyzers could be another method by which this is achieved in existing projects. They claim to be able to catch all instances of this. Some examples of sound static analyzers include:

    https://www.absint.com/astree/index.htm

    https://github.com/NASA-SW-VnV/ikos

    https://github.com/static-analysis-engineering/CodeHawk-C

    I have planned to try using this on OpenZFS for a while, but I am still busy reviewing and fixing reports made by conventional static analyzers. I plan to look into these next.

    That said, at least one of them claims to be able to prove the absence of issues in C that checked C explicitly says it cannot prevent. The obvious one is use-after-free.

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. CodeHawk-C

    CodeHawk C Analyzer: sound static analysis of memory safety (undefined behavior)

    In theory, sound static analyzers could be another method by which this is achieved in existing projects. They claim to be able to catch all instances of this. Some examples of sound static analyzers include:

    https://www.absint.com/astree/index.htm

    https://github.com/NASA-SW-VnV/ikos

    https://github.com/static-analysis-engineering/CodeHawk-C

    I have planned to try using this on OpenZFS for a while, but I am still busy reviewing and fixing reports made by conventional static analyzers. I plan to look into these next.

    That said, at least one of them claims to be able to prove the absence of issues in C that checked C explicitly says it cannot prevent. The obvious one is use-after-free.

  4. checkedc

    Checked C is an extension to C that lets programmers write C code with bounds checking and improved type-safety. The goal is to let people easily make their existing C code type-safe and eliminate entire classes of errors.

  5. checkedc-llvm-project

    This was a fork of Checked C clang used from 2021-2024. The changes have been merged into the original Checked C clang repo, which is now at https://github.com/checkedc/checkedc-clang.

    Note that active development seems to be continuing here:

    https://github.com/secure-sw-dev/checkedc-llvm-project

  6. c2nim

    c2nim is a tool to translate Ansi C code to Nim. The output is human-readable Nim code that is meant to be tweaked by hand before and after the translation process.

    Well I'm 99.5% certain at least. Even now I'm uncertain of the C syntax. And I've not been bold enough to test 3rd order C function pointers. I figure that's probably C code you don't wanna touch if possible.

    https://github.com/nim-lang/c2nim/blob/11f2c5363dfe7e8c7c8ce...

    The other annoying one is that "signed" and "unsigned" are basically adjectives, but "long" can be both a type and a modifier. So it's difficult to parse unless you're the target C compiler. Technically you can, but you have to use backtracking.

  7. CompCert

    The CompCert formally-verified C compiler

    Does anybody know how does this compare to https://compcert.org/ ?

  8. dmd

    dmd D Programming Language compiler

    > difficult to parse

    Not really. Just create a bit mask.

    https://github.com/dlang/dmd/blob/master/compiler/src/dmd/cp...

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. codeql

    CodeQL: the libraries and queries that power security researchers around the world, as well as code scanning in GitHub Advanced Security

  11. archive-program

    The GitHub Archive Program & Arctic Code Vault

  12. wuffs

    Wrangling Untrusted File Formats Safely

    That sounds a bit like what WUFFS is doing

    WUFFS: https://github.com/google/wuffs

  13. static-analysis

    ⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.

    https://github.com/analysis-tools-dev/static-analysis

  14. noplate

    generic data structures

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • PVS\-Studio 7\.34: support for Apple Silicon ARM64, \.NET 9, taint analysis in Java analyzer, and more

    1 project | dev.to | 18 Dec 2024
  • CodeChecker - code quality control using PVS-Studio

    1 project | dev.to | 13 Dec 2024
  • The NSA list of memory-safe programming languages has been updated

    2 projects | news.ycombinator.com | 4 Mar 2024
  • The Fil-C Manifesto: Garbage In, Memory Safety Out

    2 projects | news.ycombinator.com | 20 Feb 2024
  • Show HN: MicroTCP, a minimal TCP/IP stack

    3 projects | news.ycombinator.com | 31 Oct 2023

Did you know that C is
the 6th most popular programming language
based on number of references?