[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
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
- 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...
> John Criswell
> John Criswell
> Assistant Professor
> Department of Computer Science, University of Rochesterhttp://www.cs.rochester.edu/u/criswell
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev