<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 12/29/16 3:52 AM, Muhui Jiang via
llvm-dev wrote:<br>
</div>
<blockquote
cite="mid:CAF_eCeruYcNty3aXSA5HgcfTTG7z5pKmtjQtLByWPsqWJwZRBg@mail.gmail.com"
type="cite">
<div dir="ltr">Hi
<div><br>
</div>
<div>I hope this is the right mailing list to ask some questions
related to the llvm. I am new to llvm and I decided to use
llvm to conduct static analysis of the linux kernel( mostly on
the TCP/IP stack). One thing is that whether llvm support
static taint analysis. Could you please give me some examples
if you have or do I have to implement it by myself. If so, any
suggestions available? <br>
</div>
</div>
</blockquote>
<br>
To the best of my knowledge, there is no static information flow
analysis for LLVM IR. There might be a taint analysis for Clang
ASTs, but someone else will need to comment on that. For LLVM IR,
you'll need to write your own.<br>
<br>
<br>
<blockquote
cite="mid:CAF_eCeruYcNty3aXSA5HgcfTTG7z5pKmtjQtLByWPsqWJwZRBg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div><br>
</div>
<div>My requirements is to do some model checking and pattern
checking on the linux source code and static taint analysis
might solve it. Thanks</div>
</div>
</blockquote>
<br>
Taint analysis through SSA values should be relatively
straightforward to implement; the in-memory LLVM IR provides
iterators that allow you to iterate through all uses of a value.<br>
<br>
Taint analysis through values stored in memory (e.g., loads, stores)
will require alias analysis or points-to analysis. For that, you
might try Type-Based Alias Analysis (TBAA) or DSA. TBAA is included
with LLVM. DSA is in a sub-project; an updated version can be found
at <a class="moz-txt-link-freetext" href="https://github.com/jtcriswell/llvm-dsa">https://github.com/jtcriswell/llvm-dsa</a>.<br>
<br>
Regards,<br>
<br>
John Criswell<br>
<br>
<br>
<blockquote
cite="mid:CAF_eCeruYcNty3aXSA5HgcfTTG7z5pKmtjQtLByWPsqWJwZRBg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div><br>
</div>
<div>Regards</div>
<div>Muhui</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
</blockquote>
<br>
<p><br>
</p>
<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>