C-rusted: The Advantages of Rust, in C, without the Disadvantages

02/10/2023
by   Roberto Bagnara, et al.
0

C-rusted is an innovative technology whereby C programs can be (partly) annotated so as to express: ownership, exclusivity and shareability of language, system and user-defined resources; dynamic properties of objects and the way they evolve during program execution; nominal typing and subtyping. The (partially) annotated C programs can be translated with unmodified versions of any compilation toolchain capable of processing ISO C code. The annotated C program parts can be validated by static analysis: if the static analyzer flags no error, then the annotations are provably coherent among themselves and with respect to annotated C code, in which case said annotated parts are provably exempt from a large class of logic, security, and run-time errors.

READ FULL TEXT
research
04/06/2018

An Approach to Static Performance Guarantees for Programs with Run-time Checks

Instrumenting programs for performing run-time checking of properties, s...
research
08/21/2020

Transforming Probabilistic Programs for Model Checking

Probabilistic programming is perfectly suited to reliable and transparen...
research
05/13/2021

Gradual Program Analysis for Null Pointers

Static analysis tools typically address the problem of excessive false p...
research
03/07/2022

Static Prediction of Runtime Errors by Learning to Execute Programs with External Resource Descriptions

The execution behavior of a program often depends on external resources,...
research
06/27/2022

Simplifying Semantic Annotations of SMCalFlow

SMCalFlow is a large corpus of semantically detailed annotations of task...
research
09/18/2020

Out of Sight, Out of Place: Detecting and Assessing Swapped Arguments

Programmers often add meaningful information about program semantics whe...
research
08/22/2022

Smoothness Analysis for Probabilistic Programs with Application to Optimised Variational Inference

We present a static analysis for discovering differentiable or more gene...

Please sign up or login with your details

Forgot password? Click here to reset