<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    *repeats without overquoting in order to avoid hitting the mailing
    list message length limit*<br>
    <br>
    <div class="moz-cite-prefix">On 7/23/19 7:29 PM, Artem Dergachev
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:420287a9-7708-06b3-e2c0-04266dfb6277@gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      Xerces - DOMRangeImpl.cpp: Ugh, are those "Value assigned to..."
      notes triggered by invalidation? I have a plan of my own to wipe
      such notes out (or at least formulate them more carefully), so i
      guess it's not an action item for you (nor much of a regression),
      but still ugh. Another thing to think about for those is to
      suppress the warning entirely when a region that stores is
      important condition is first assumed to contain false, then
      invalidated, then assumed to contain true.<br>
      <br>
      Xerces - XMLString.hpp: Mmm, i guess passing unconstrained values
      as parameters is also not very meaningful. It doesn't look like
      it's a *big* problem, but i guess it's worth considering fixing
      eventually.<br>
      <br>
      <br>
      > Assert conditions are not yet ignored, I have a neat solution
      locally<br>
      <br>
      Just to make sure - do you have a test case with control flow
      within the condition, eg. `assert((a || b) && "the
      universe is collapsing")`?<br>
      <br>
      <br>
      <div class="moz-cite-prefix">On 7/23/19 12:49 PM, Kristóf Umann
        wrote:<br>
      </div>
      <blockquote type="cite"
cite="mid:CAGcXOD6WiXeJ3vZRz+FS+h-13KYMupW4LnsKF0mROqV7X9Ujcg@mail.gmail.com">
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8">
        <div dir="ltr">
          <div dir="ltr">I'm happy to delight you all with some more
            results! I was far more strict on my judgement this time
            around, marking a report good when I genuinely believed that
            the note made the report better.
            <div><br>
            </div>
            <div>All the runs were made on monorepo commit  <span
style="color:rgb(0,0,0);font-family:Geneva,Arial,Helvetica,sans-serif;font-size:13.3333px;background-color:rgb(247,252,255)">db4e335b8643056f5afa2a0d8d175d95b1fb7e28</span> 
              with the following patches applied:<br>
              <br>
              BEFORE tracking condition:  Without any changes being
              made, default CodeChecker settings.</div>
            <div>AFTER tracking conditions: Without any changes being
              made, track-conditions set to true.</div>
            <div>AFTER tracking conditions + DEBUG notes:  Without any
              changes being made, track-conditions and
              track-conditions-debug set to true.</div>
            <div>AFTER linear pruning (or similar run name): [1]
              applied, track-conditions set to true</div>
            AFTER tracking conditions WITH improved moderation: [1, 2,
            3, 4] applied, track-conditions set to true (stupid name but
            it's gonna stay like this for now :) )<br
              class="gmail-Apple-interchange-newline">
            AFTER tracking conditions WITH improved moderation: [1, 2,
            3, 4] applied, track-conditions and
            track-conditions-debug  set to true
            <div><span style="font-variant-numeric:normal;font-variant-east-asian:normal;background-color:transparent;font-family:Arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap">
[1] </span><a href="https://reviews.llvm.org/D64232"
                style="text-decoration-line:none" moz-do-not-send="true"><span style="font-family:Arial;background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;text-decoration-line:underline;vertical-align:baseline;white-space:pre-wrap">https://reviews.llvm.org/D64232</span></a><span style="font-variant-numeric:normal;font-variant-east-asian:normal;background-color:transparent;font-family:Arial;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap"> [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value</span> <br>
            </div>
            <div>[2] <a href="https://reviews.llvm.org/D64287"
                moz-do-not-send="true">https://reviews.llvm.org/D64287</a> [analyzer]
              Track the right hand side of the last store regardless of
              its value</div>
            <div><span
                id="gmail-docs-internal-guid-6633fc6c-7fff-4cb0-ba03-da8b5433cf09">
                <p dir="ltr"
                  style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">[3] </span><a
                    href="https://reviews.llvm.org/D64270"
                    style="text-decoration-line:none"
                    moz-do-not-send="true"><span style="font-family:Arial;background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;text-decoration-line:underline;vertical-align:baseline;white-space:pre-wrap">https://reviews.llvm.org/D64270</span></a><span style="font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap"> [analyzer][NFC] Prepare visitors for different tracking kinds</span></p>
                <p dir="ltr"
                  style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">[4] </span><a
                    href="https://reviews.llvm.org/D64272"
                    style="text-decoration-line:none"
                    moz-do-not-send="true"><span style="font-family:Arial;background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;text-decoration-line:underline;vertical-align:baseline;white-space:pre-wrap">https://reviews.llvm.org/D64272</span></a><span style="font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap"> [analyzer] Note last writes to a condition only in a nested stackframe</span></p>
              </span>
              <div>
                <div>
                  <div><br>
                  </div>
                  <div>LLVM/Clang (no longer analyzing
                    clang-tools-extra): <a
href="http://cc.elte.hu:15001/GSoC2019-July-5/#run=LLVM%2FClang%20AFTER%20condition%20tracking%20WITH%20improved%20moderation&review-status=Confirmed&review-status=False%20positive&review-status=Intentional&detection-status=New&detection-status=Reopened&detection-status=Unresolved&tab=LLVM%2FClang%20AFTER%20condition%20tracking%20WITH%20improved%20moderation&is-unique=on"
                      moz-do-not-send="true">http://cc.elte.hu:15001/GSoC2019-July-5/#run=LLVM%2FClang%20AFTER%20condition%20tracking%20WITH%20improved%20moderation&review-status=Confirmed&review-status=False%20positive&review-status=Intentional&detection-status=New&detection-status=Reopened&detection-status=Unresolved&tab=LLVM%2FClang%20AFTER%20condition%20tracking%20WITH%20improved%20moderation&is-unique=on</a></div>
                  <div><br>
                  </div>
                  <div>Bitcoin: <a
href="http://cc.elte.hu:15001/GSoC2019-July-5/#run=Bitcoint%20AFTER%20condition%20tracking%20WITH%20improved%20moderation&review-status=Confirmed&review-status=False%20positive&review-status=Intentional&detection-status=New&detection-status=Reopened&detection-status=Unresolved&tab=Bitcoint%20AFTER%20condition%20tracking%20WITH%20improved%20moderation&is-unique=on"
                      moz-do-not-send="true">http://cc.elte.hu:15001/GSoC2019-July-5/#run=Bitcoint%20AFTER%20condition%20tracking%20WITH%20improved%20moderation&review-status=Confirmed&review-status=False%20positive&review-status=Intentional&detection-status=New&detection-status=Reopened&detection-status=Unresolved&tab=Bitcoint%20AFTER%20condition%20tracking%20WITH%20improved%20moderation&is-unique=on</a></div>
                </div>
                <div><br>
                </div>
                <div>Xerces: <a
href="http://cc.elte.hu:15001/GSoC2019-July-5/#run=Xerces%20AFTER%20condition%20tracking%20WITH%20improved%20moderation&review-status=Confirmed&review-status=False%20positive&review-status=Intentional&detection-status=New&detection-status=Reopened&detection-status=Unresolved&tab=Xerces%20AFTER%20condition%20tracking%20WITH%20improved%20moderation&is-unique=on"
                    moz-do-not-send="true">http://cc.elte.hu:15001/GSoC2019-July-5/#run=Xerces%20AFTER%20condition%20tracking%20WITH%20improved%20moderation&review-status=Confirmed&review-status=False%20positive&review-status=Intentional&detection-status=New&detection-status=Reopened&detection-status=Unresolved&tab=Xerces%20AFTER%20condition%20tracking%20WITH%20improved%20moderation&is-unique=on</a></div>
              </div>
            </div>
            <div><br>
            </div>
            <div>Some conclusions:</div>
            <div>
              <ul>
                <li>[4] Actually notes last writes in <i>different</i>,
                  not <i>nested</i> stack frames. Gotta fix that.</li>
                <li>[1] Returning an unconstrained value when the
                  function is linear is <b>never</b> meaningful. Not
                  for conditions, not for anything else. Gotta fix that
                  too. It's worth talking about whether we should prune
                  these for conditions even if the function isn't
                  linear.</li>
                <li>[1] This one gets rid of almost all the operator
                  bool calls. Maybe in the rare case it doesn't, we
                  should preserve them? I always planned to get rid of
                  calls to operator bool, but now I'm hesitant.</li>
                <li>Assert conditions are not yet ignored, I have a neat
                  solution locally, but I haven't published or tested it
                  yet.</li>
              </ul>
              <div>There honestly isn't that much I have on my mind, I
                think after the next round of analyses we should be
                good! I really should've made an analysis with all the
                non-condition tracking changes to get an even better
                perspective, so I'll do that next time.</div>
            </div>
          </div>
          <br>
        </div>
      </blockquote>
    </blockquote>
    <br>
  </body>
</html>