[llvm-dev] Runtime interception: design problem

Pierre Gagelin via llvm-dev llvm-dev at lists.llvm.org
Thu May 26 01:57:45 PDT 2016

Hi John,

On 25 May 2016 at 16:11, John Criswell <jtcriswel at gmail.com> wrote:

> Dear Pierre,
> Stepping up a level, what is your goal in replacing calls to malloc() and
> free()?  Is it any different than what SAFECode, SoftBound, or ASan do?

That's a good question. I didn't knew about SoftBound until now, so thank
you for the name =). Anyway here is what I know:
  - ASan is a shadow-based memory protection, which allows accesses to an
addressable field
  - I don't know every aspects of SAFECode. What I looked at was
BaggyBoundsCheck which is an object based memory protection. In this way it
still allows wild accesses inside an allocation
  - I quickly looked at SoftBound and it does protect the memory at a
precise level. However metadata is separately stored which involve higher

My point is BoundsChecking has been designed (by Nuno Lopes) to be a very
low overhead checking tool. For the moment no runtime have been implemented
and I wanted to do a lightweight one on it (I am just a student so even for
the personal experience I'm interested). The runtime would be necessary to
solve the actual problem of inter-procedural checks.

As said I haven't strong basis on the topic so any suggestion is welcome.
However I know there are several criteria a program can't all match
together like effectiveness, memory use, compatibility...

> Regards,
> John Criswell

Thanks John,

> --
> John Criswell
> Assistant Professor
> Department of Computer Science, University of Rochesterhttp://www.cs.rochester.edu/u/criswell
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160526/e7007681/attachment.html>

More information about the llvm-dev mailing list