GCC Undefined Behavior Sanitizer

eles via Digitalmars-d digitalmars-d at puremagic.com
Sun Oct 19 02:04:58 PDT 2014


On Friday, 17 October 2014 at 10:50:54 UTC, Ola Fosheim Grøstad 
wrote:
> On Friday, 17 October 2014 at 10:30:14 UTC, eles wrote:
>> On Friday, 17 October 2014 at 09:46:49 UTC, Ola Fosheim 
>> Grøstad wrote:

>>
>> Nice idea, but how to persuade libraries to play that game?
>
> 1. Provide a meta-language for writing propositions that 
> describes what libraries do if they are foreign (pre/post 
> conditions). Could be used for "asserts" too.

That's complicated, to provide another langage for describing the 
behavior. And how? Embedded in the binary library?

Maybe a set of annotations that are exposed through the .di 
files. But, then, we are back to headers...

Another idea would be to simply make the in and out contracts of 
a function exposed in the corresponding .di file, or at least a 
part of them (we could use "public" for those).

Anyway, as far as I ca imagine it, it would be like embedding 
Polyspace inside the compiler and stub functions inside libraries.

> 2. Provide a C compiler that compiles to the same internal 
> representation as the new language, so you can run the same 
> analysis on C code.

For source code. But for cloused-source libraries?

> 3. Remove int so that you have to specify the range and make 
> typedefs local to the library

Pascal arrays?

> Lots of opportunities for improving "state-of-the-art".

True. But a lot of problems too. And there is not much agreement 
on what is the state of the art...


More information about the Digitalmars-d mailing list