<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Dear Mingxing,<br>
<br>
I think both projects are interesting and useful.<br>
<br>
Points-to analysis is something that is needed by research users
of LLVM, but to the best of my knowledge, no solid implementation
currently exists (although the cfl-aa work being done at Google
may provide us with something; you should check into it before
writing a proposal). My interest is in a points-to analysis that
is robust and is useful to both research and industry users of
LLVM. A points-to analysis proposal must indicate how it will
help both of these subsets of the LLVM community, and it must
argue why current efforts do not meet the requirements of both
subsets of the community.<br>
<br>
The runtime bloat tool also looks interesting, and your approach
(at least to me) is interesting. One question in my mind, though,
is whether dynamic slicing is going to work well. Swarup Sahoo
and I built a dynamic slicer for LLVM named Giri, and we found the
tracing required for dynamic slicing to be slow. For our
purposes, the overhead was okay as we only needed to record
execution until a crash (which happened quickly). In your bloat
tool, the program will probably run for awhile, creating a long
trace record. You should take a look at the Giri code, use it to
trace some programs, and see if the overheads are going to be
tolerable. If they are not, then your first task would be to
optimize Giri for your bloat tool.<br>
<br>
You should also be more specific about which LLVM instructions
will be traced. For example, I wouldn't record the outputs of
every LLVM instruction; I might only record the outputs of loads
and stores or the end of a def-use chain.<br>
<br>
I'd be interested in mentoring either project.<br>
<br>
BTW, it looks like your FSE paper won an award. Congrats.<br>
<br>
Regards,<br>
<br>
John Criswell<br>
<br>
<br>
<br>
<br>
<br>
<br>
On 3/3/15 2:30 AM, Mingxing Zhang wrote:<br>
</div>
<blockquote
cite="mid:CALjEx3wETiPo0u-tOpueEemctrB7doC1GoTRq3tnOFDE5ZkZQg@mail.gmail.com"
type="cite">
<div dir="ltr">Hi all,<br>
<br>
As a Ph.D. student majored in Software Reliability, I have used
LLVM in many of my projects, such as the Anticipating Invariant
(<a moz-do-not-send="true"
href="http://james0zan.github.io/AI.html">http://james0zan.github.io/AI.html</a>)
and some other undergoing ones.<br>
Thus, it would be a great pleasure for me if I could take this
opportunity to contribute to this awesome project.<br>
<br>
After reading the idea list (<a moz-do-not-send="true"
href="http://llvm.org/OpenProjects.html">http://llvm.org/OpenProjects.html</a>),
I was most interested in the idea of improving the "Pointer and
Alias Analysis" passes.<br>
Could you please give me some more tips or advices on how to get
started on working on the application?<br>
<br>
Simultaneously, I also have another idea about using LLVM to
detect runtime bloat, just like the ThreadSanitizer tool for
data races.<br>
If there is anyone here who would like to mentor this project,
could you please find some time to review the <a
moz-do-not-send="true"
href="https://gist.github.com/james0zan/d03737c60b10d0d11d34">more
detailed proposal on gist</a> and give me some feedbacks?<br>
<br>
P.S. <br>
I do prefer the bloat detection tool, but I'm not sure about
whether it is suitable for GSoC.<br>
Thus I will apply for the Alias Analysis one if it is not
suitable.<br>
<br>
Thanks!<br clear="all">
<br>
-- <br>
<div class="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div>Mingxing Zhang
<div><br>
</div>
<div>Tel.: +86-10-62797143<br>
</div>
<div>Web: <a moz-do-not-send="true"
href="http://james0zan.github.io/" target="_blank">http://james0zan.github.io/</a><br>
</div>
<div>Addr: Room 3-122, FIT Building, Tsinghua
University, Beijing 100084, China</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
</blockquote>
/<br>
<br>
<pre class="moz-signature" cols="72">--
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
<a class="moz-txt-link-freetext" href="http://www.cs.rochester.edu/u/criswell">http://www.cs.rochester.edu/u/criswell</a></pre>
</body>
</html>