<div dir="ltr"><div>I feel like this talk is slightly related to this topic: <a href="https://www.youtube.com/watch?v=yh2qdnJjizE">https://www.youtube.com/watch?v=yh2qdnJjizE</a></div><div><br></div><div>Wanted to share just in case :) <br></div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 24 Jun 2020 at 11:40, Artem Dergachev via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
(re-add cfe-dev)<br>
<br>
<div>On 6/23/20 8:10 AM,
<a href="mailto:philip.chimento@gmail.com" target="_blank">philip.chimento@gmail.com</a> wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Jun 21, 2020 at 1:57
AM Artem Dergachev <<a href="mailto:noqnoqneo@gmail.com" target="_blank">noqnoqneo@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>Extra notes are annoying and potentially confusing but
they're technically correct so it's not too bad.<br>
</div>
</blockquote>
<div><br>
</div>
<div>Indeed. :-)<br>
</div>
</div>
<div class="gmail_quote"><br>
</div>
<div class="gmail_quote">[...]<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> Another example:<br>
<br>
void f() {<br>
bool bar = false;<br>
if (!someResult())<br>
bar = true;<br>
<br>
int foo = 2;<br>
if (bar)<br>
foo = 3;<br>
<br>
neverCallThisAPIWith3(foo);<br>
}<br>
<br>
In this case you'd want most likely want to keep the
entire path even though foo wasn't even declared at the
first note.<br>
</div>
</blockquote>
<div><br>
</div>
<div>I could imagine a BugReporterVisitor that would mark
'foo' as an "interesting" variable, then add itself again to
mark 'bar' as interesting when encountering a store to 'foo'
that depends on 'bar', and then another visitor that would
prune notes before any "interesting" points... but this is
just a handwavy idea, you and others have probably thought
properly about this :-)<br>
</div>
</div>
</div>
</blockquote>
<br>
Yes, that's a fairly accurate description of the plan that we have
on that front, and we already have that information for that
particular example (with slight differences - say, variable 'foo'
isn't interesting on its own, but assignment 'foo = 3' is).<br>
<br>
There's still a lot of work to do before we're confident that we
actually mark up all the interesting information in all cases, which
is necessary to actually start pruning path segments. In many cases
it's crucial to know what *hasn't* happened on the path (but *could
have* happened if a slightly different path was taken), which is
hard to mark up this way because there's no event to mark up because
it didn't happen in the first place (the other path is not even
necessarily explored at all). So for now it's better to play safe.<br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>Regards,<br>
</div>
-- <br>
<div dir="ltr">Philip</div>
</div>
</blockquote>
<br>
</div>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div></div>