<div><div dir="auto">Hi Peter</div></div><div dir="auto"><br></div><div dir="auto">Yeah. I know that BB IDs are virtual addresses. One method I think is to use the debugging information so that I could distinguish different BBs and also map them to each IR BB.</div><div dir="auto"><br></div><div dir="auto">Maybe I need to do instrumentation? Or I just print out some debugging information so that I know what BBs are visited. Do you think it works? I just want to distinguish the BBs. Maybe I can Taylor some existing tools. I don’t know where to start. Many thanks</div><div dir="auto"><br></div><div dir="auto">Regards</div><div dir="auto">Muhui</div><div><br><div class="gmail_quote"><div dir="ltr">Peter Teoh <<a href="mailto:htmldeveloper@gmail.com">htmldeveloper@gmail.com</a>>于2018年9月3日 周一下午10:15写道:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I did not say anything about "basic block" because that is what we are talking about.   In fact, in LLVM tracing, or any runtime tracing, we only get back "basic block" <br>identifier - which is just addresses indicating the start of the BB.   So BB IDs are also the virtual addresses.<br></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Sep 3, 2018 at 9:41 PM Muhui Jiang <<a href="mailto:jiangmuhui@gmail.com" target="_blank">jiangmuhui@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br></div><div><div dir="auto">Hi Peter</div><div dir="auto"><br></div><div dir="auto">I think you may misunderstand my question. I mean I have a binary and one input. I run the binary with this input. Can I know what IR basic blocks are covered. What I want to know is not only the number but also the BBs’ labels/IDs. Many thanks</div><div dir="auto"><br></div><div dir="auto">Regards</div><div dir="auto">Muhui</div><br><div class="gmail_quote"><div dir="ltr">Peter Teoh <<a href="mailto:htmldeveloper@gmail.com" target="_blank">htmldeveloper@gmail.com</a>>于2018年9月3日 周一下午6:06写道:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">this is a classic problem:   how to derive a complete coverage of all potential paths of execution.   and the path covered is not only dependent on the input, it may depend on many other external factors like OS environment, external resource like network, storage, and memories etc.   normally a complete coverage is computationally infeasible, but if you let a fuzzer lib libFuzzer do the work of finding random inputs + environments, then a "most probabilistically likely coverage" may be constructed.</div><br><div class="gmail_quote"></div><div class="gmail_quote"><div dir="ltr">On Mon, Sep 3, 2018 at 1:17 PM Muhui Jiang via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi<div><br></div><div>My goal is that given a binary and the corresponding input. I want to know what IR level basic blocks are covered. I need the detail information, which is the set of all the covered BBs rather than just a number. </div><div><br></div><div>I want to know whether there are some tools that can support this requirements. If not, I think maybe instrumentation can helps. However, I do not know too much about this. Any suggestions or ideas are welcome. Thank you so much</div><div><br></div><div>Regards</div><div>Muhui</div></div></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="m_5149880335934036709m_-6580655447491911020m_3154621687891719045gmail_signature" data-smartmail="gmail_signature">Regards,<br>Peter Teoh</div>
</blockquote></div></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="m_5149880335934036709gmail_signature" data-smartmail="gmail_signature">Regards,<br>Peter Teoh</div>
</blockquote></div></div>