[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
overhead
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,
Pierre
> --
> 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