<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>