Page MenuHomePhabricator

Szelethus (Kristóf Umann)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 19 2017, 6:59 AM (104 w, 1 d)

Recent Activity

Today

Szelethus added inline comments to D59555: [analyzer] Add yaml parser to GenericTaintChecker.
Thu, Jul 18, 1:59 AM · Restricted Project
Szelethus added inline comments to D64272: [analyzer] Note last writes to a condition only in a nested stackframe.
Thu, Jul 18, 12:16 AM · Restricted Project
Szelethus added a comment to D63279: [Analyzer] Unroll for-loops where the upper boundary is a variable with know value.
In D63279#1590676, @NoQ wrote:

/me has just noticed that this isn't D34812.

Thu, Jul 18, 12:12 AM · Restricted Project

Yesterday

Szelethus added inline comments to D64270: [analyzer][NFC] Prepare visitors for different tracking kinds.
Wed, Jul 17, 1:22 PM · Restricted Project
Szelethus added a comment to D64287: [analyzer] Track the right hand side of the last store regardless of its value.

LGTM!

Since we allow new kinds of SVals to be tracked it would be great to test this first on a larger corpus of projects just to see if there is a crash (due to an unhandled SVal type).

Wed, Jul 17, 1:22 PM · Restricted Project
Szelethus removed a parent revision for D64272: [analyzer] Note last writes to a condition only in a nested stackframe: D64287: [analyzer] Track the right hand side of the last store regardless of its value.
Wed, Jul 17, 8:28 AM · Restricted Project
Szelethus removed a child revision for D64287: [analyzer] Track the right hand side of the last store regardless of its value: D64272: [analyzer] Note last writes to a condition only in a nested stackframe.
Wed, Jul 17, 8:28 AM · Restricted Project
Szelethus updated the diff for D64272: [analyzer] Note last writes to a condition only in a nested stackframe.
Wed, Jul 17, 8:27 AM · Restricted Project
Szelethus added a parent revision for D64270: [analyzer][NFC] Prepare visitors for different tracking kinds: D64287: [analyzer] Track the right hand side of the last store regardless of its value.
Wed, Jul 17, 8:27 AM · Restricted Project
Szelethus removed a parent revision for D64271: [analyzer] Don't track the right hand side of the last store for conditions: D64270: [analyzer][NFC] Prepare visitors for different tracking kinds.
Wed, Jul 17, 8:27 AM · Restricted Project
Szelethus removed a child revision for D64270: [analyzer][NFC] Prepare visitors for different tracking kinds: D64271: [analyzer] Don't track the right hand side of the last store for conditions.
Wed, Jul 17, 8:27 AM · Restricted Project
Szelethus added a child revision for D64287: [analyzer] Track the right hand side of the last store regardless of its value: D64270: [analyzer][NFC] Prepare visitors for different tracking kinds.
Wed, Jul 17, 8:27 AM · Restricted Project
Szelethus updated the diff for D64270: [analyzer][NFC] Prepare visitors for different tracking kinds.
Wed, Jul 17, 8:27 AM · Restricted Project
Szelethus added a parent revision for D64287: [analyzer] Track the right hand side of the last store regardless of its value: D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value.
Wed, Jul 17, 8:11 AM · Restricted Project
Szelethus added a child revision for D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value: D64287: [analyzer] Track the right hand side of the last store regardless of its value.
Wed, Jul 17, 8:11 AM · Restricted Project
Szelethus updated the diff for D64287: [analyzer] Track the right hand side of the last store regardless of its value.
Wed, Jul 17, 8:11 AM · Restricted Project
Szelethus removed a parent revision for D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value: D64272: [analyzer] Note last writes to a condition only in a nested stackframe.
Wed, Jul 17, 8:09 AM · Restricted Project
Szelethus updated the diff for D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value.

Rebase on top master. Putting this on the bottom of the patch stack because this really deserves it's own analysis. (Side note, I completely messed up like ~40 hrs worth of analysis because I didn't check which branches do I have stacked on top of each other, so this might take a while...)

Wed, Jul 17, 8:09 AM · Restricted Project
Szelethus removed a child revision for D64272: [analyzer] Note last writes to a condition only in a nested stackframe: D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value.
Wed, Jul 17, 8:09 AM · Restricted Project
Szelethus added a comment to D63279: [Analyzer] Unroll for-loops where the upper boundary is a variable with know value.

I think you forgot to remove /* */ and clang formatting before uploading the patch.

Wed, Jul 17, 7:43 AM · Restricted Project
Szelethus added a comment to D59555: [analyzer] Add yaml parser to GenericTaintChecker.

Hmm, okay, so we convert -1 from the config file to UINT_MAX in the code, I like it!

Wed, Jul 17, 2:21 AM · Restricted Project

Tue, Jul 16

Szelethus added a comment to D59555: [analyzer] Add yaml parser to GenericTaintChecker.

Starting to look real good!

Tue, Jul 16, 7:14 AM · Restricted Project
Szelethus added a comment to D64454: [clang-tidy] Adding static analyzer check to list of clang-tidy checks.

I think this looks reasonable to me, though I am still not certain if the relative path in the python script will work with both the svn in-tree directory layout as well as the git monorepo layout (which I'm far less familiar with).

Tue, Jul 16, 2:33 AM · Restricted Project

Mon, Jul 15

Szelethus added a comment to D64274: [analyzer] VirtualCallChecker overhaul..

Also, shouldn't we add this to the release notes? In general, it's be around time to sort it out (might do that myself before the new branch).

Mon, Jul 15, 2:03 PM · Restricted Project
Szelethus added inline comments to D62525: [Analyzer] Add new visitor to the iterator checkers.
Mon, Jul 15, 1:29 PM · Restricted Project
Szelethus requested changes to D63279: [Analyzer] Unroll for-loops where the upper boundary is a variable with know value.
Mon, Jul 15, 1:23 PM · Restricted Project
Szelethus added a comment to D64454: [clang-tidy] Adding static analyzer check to list of clang-tidy checks.

I don't see obvious red flags strictly regarding the analyzer!

Mon, Jul 15, 1:21 PM · Restricted Project
Szelethus updated subscribers of D64274: [analyzer] VirtualCallChecker overhaul..
Mon, Jul 15, 1:14 PM · Restricted Project
Szelethus added inline comments to D64274: [analyzer] VirtualCallChecker overhaul..
Mon, Jul 15, 1:07 PM · Restricted Project
Szelethus added a comment to D64274: [analyzer] VirtualCallChecker overhaul..
In D64274#1574086, @NoQ wrote:

Hmm, wait, i don't really break backwards compatibility. Fridays...

Mon, Jul 15, 1:05 PM · Restricted Project
Szelethus added inline comments to D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value.
Mon, Jul 15, 11:43 AM · Restricted Project

Sun, Jul 14

Szelethus added inline comments to D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value.
Sun, Jul 14, 3:14 PM · Restricted Project
Szelethus added a comment to D64271: [analyzer] Don't track the right hand side of the last store for conditions.
In D64271#1576872, @NoQ wrote:

I'd rather not abandon this patch, because it looks like a strict improvement over the lack of condition tracking, and it might as well still be an improvement over "zealous" condition tracking, as my counterexample is fairly artificial. It indicates that a slightly more sophisticated algorithm is necessary (i'm not sure if it's single-pass or even linear). But i'll be perfectly happy with simply adding it as a FIXME test.

Sun, Jul 14, 10:51 AM · Restricted Project
Szelethus added a comment to D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value.

Gentle ping.

Sun, Jul 14, 9:41 AM · Restricted Project
Szelethus added a comment to D64272: [analyzer] Note last writes to a condition only in a nested stackframe.

Gentle ping.

Sun, Jul 14, 9:41 AM · Restricted Project
Szelethus added a comment to D64287: [analyzer] Track the right hand side of the last store regardless of its value.

Would you say it's good to go? :)

Sun, Jul 14, 9:41 AM · Restricted Project

Fri, Jul 12

Szelethus added a comment to D64628: [CrossTU] Test change only: improve ctu-main.c.

Hmmm, did this result in an assertion?

Fri, Jul 12, 9:08 AM · Restricted Project
Szelethus added reviewers for D64635: [CrossTU] Added CTU argument to diagnostic consumer create fn.: xazax.hun, martong.
Fri, Jul 12, 8:25 AM · Restricted Project
Szelethus accepted D64638: [CrossTU] Fix plist macro expansion if macro in other file..

LGTM! Thanks!

Fri, Jul 12, 8:22 AM · Restricted Project
Szelethus accepted D64635: [CrossTU] Added CTU argument to diagnostic consumer create fn..

LGTM!

Fri, Jul 12, 8:21 AM · Restricted Project

Thu, Jul 11

Szelethus accepted D64543: [Docs] Add standardized header links to analyzer doc.

Woohoo!

Thu, Jul 11, 8:17 AM · Restricted Project, Restricted Project

Wed, Jul 10

Szelethus added a comment to D64494: [analyzer]Add user docs rst.

Np, please leave it in! :)

Wed, Jul 10, 12:46 PM · Restricted Project, Restricted Project
Szelethus added a comment to D64494: [analyzer]Add user docs rst.

I guess any time we modify analyzer stuff, we may invite the main analyzer developers to the patch review as well.

Wed, Jul 10, 11:09 AM · Restricted Project, Restricted Project
Szelethus added a comment to D64274: [analyzer] VirtualCallChecker overhaul..

Please know that I'm currently out of town, so it'll be a while before I can formally accept. Its on top of my list when I get home though! :^)

Wed, Jul 10, 10:07 AM · Restricted Project
Szelethus added a comment to D64454: [clang-tidy] Adding static analyzer check to list of clang-tidy checks.

Just thinking aloud!

Wed, Jul 10, 9:49 AM · Restricted Project

Tue, Jul 9

Szelethus added inline comments to D64374: [analyzer] CastValueChecker: Model casts.
Tue, Jul 9, 1:53 AM · Restricted Project, Restricted Project
Szelethus added a comment to D64274: [analyzer] VirtualCallChecker overhaul..
In D64274#1574118, @NoQ wrote:

Mmm, no, not really; it seems that if i introduce a checker dependency, i also have to put the option onto the base checker, otherwise the checker name wouldn't match when i do getCheckerBooleanOption(getChecker<VirtualCallChecker>(), "PureOnly"). Which means that the option name will inevitably change. @Szelethus, do i understand this correctly?

Tue, Jul 9, 12:45 AM · Restricted Project

Sat, Jul 6

Szelethus added inline comments to D62619: [analyzer][IDF] Add a control dependency calculator + a new debug checker.
Sat, Jul 6, 12:08 PM · Restricted Project, Restricted Project
Szelethus added inline comments to D63279: [Analyzer] Unroll for-loops where the upper boundary is a variable with know value.
Sat, Jul 6, 12:02 PM · Restricted Project
Szelethus requested changes to D64274: [analyzer] VirtualCallChecker overhaul..

I happen to have very recent analyses on a couple projects, I'll throw this in: LLVM+Clang+Clang-tools-extra. No findings on Xerces or Bitcoin.

Sat, Jul 6, 11:16 AM · Restricted Project
Szelethus added a child revision for D64272: [analyzer] Note last writes to a condition only in a nested stackframe: D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value.
Sat, Jul 6, 9:52 AM · Restricted Project
Szelethus added a parent revision for D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value: D64272: [analyzer] Note last writes to a condition only in a nested stackframe.
Sat, Jul 6, 9:52 AM · Restricted Project
Szelethus updated the diff for D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value.

Rebase.

Sat, Jul 6, 9:52 AM · Restricted Project
Szelethus edited parent revisions for D64272: [analyzer] Note last writes to a condition only in a nested stackframe, added: 2; removed: 1.
Sat, Jul 6, 9:47 AM · Restricted Project
Szelethus added a child revision for D64287: [analyzer] Track the right hand side of the last store regardless of its value: D64272: [analyzer] Note last writes to a condition only in a nested stackframe.
Sat, Jul 6, 9:47 AM · Restricted Project
Szelethus added a child revision for D64270: [analyzer][NFC] Prepare visitors for different tracking kinds: D64272: [analyzer] Note last writes to a condition only in a nested stackframe.
Sat, Jul 6, 9:47 AM · Restricted Project
Szelethus removed a child revision for D64271: [analyzer] Don't track the right hand side of the last store for conditions: D64272: [analyzer] Note last writes to a condition only in a nested stackframe.
Sat, Jul 6, 9:47 AM · Restricted Project
Szelethus updated the diff for D64272: [analyzer] Note last writes to a condition only in a nested stackframe.

Rebase after D64271 being abandoned.

Sat, Jul 6, 9:47 AM · Restricted Project
Szelethus abandoned D64271: [analyzer] Don't track the right hand side of the last store for conditions.

You're right. If condition tracking only adds necessary information anyways, this shouldn't hurt that much anyways.

Sat, Jul 6, 9:39 AM · Restricted Project
Szelethus retitled D64287: [analyzer] Track the right hand side of the last store regardless of its value from [analyzer] Track the right hand side of the last store regardless of it's value to [analyzer] Track the right hand side of the last store regardless of its value.
Sat, Jul 6, 9:35 AM · Restricted Project
Szelethus retitled D64287: [analyzer] Track the right hand side of the last store regardless of its value from [analyzer] Track the right hand side of the last store unconditionally to [analyzer] Track the right hand side of the last store regardless of it's value.
Sat, Jul 6, 9:35 AM · Restricted Project
Szelethus created D64287: [analyzer] Track the right hand side of the last store regardless of its value.
Sat, Jul 6, 9:35 AM · Restricted Project

Fri, Jul 5

Szelethus added a parent revision for D64272: [analyzer] Note last writes to a condition only in a nested stackframe: D64271: [analyzer] Don't track the right hand side of the last store for conditions.
Fri, Jul 5, 2:57 PM · Restricted Project
Szelethus created D64272: [analyzer] Note last writes to a condition only in a nested stackframe.
Fri, Jul 5, 2:57 PM · Restricted Project
Szelethus added a child revision for D64271: [analyzer] Don't track the right hand side of the last store for conditions: D64272: [analyzer] Note last writes to a condition only in a nested stackframe.
Fri, Jul 5, 2:57 PM · Restricted Project
Szelethus added a parent revision for D64271: [analyzer] Don't track the right hand side of the last store for conditions: D64270: [analyzer][NFC] Prepare visitors for different tracking kinds.
Fri, Jul 5, 2:52 PM · Restricted Project
Szelethus added a child revision for D64270: [analyzer][NFC] Prepare visitors for different tracking kinds: D64271: [analyzer] Don't track the right hand side of the last store for conditions.
Fri, Jul 5, 2:52 PM · Restricted Project
Szelethus created D64271: [analyzer] Don't track the right hand side of the last store for conditions.
Fri, Jul 5, 2:52 PM · Restricted Project
Szelethus created D64270: [analyzer][NFC] Prepare visitors for different tracking kinds.
Fri, Jul 5, 2:43 PM · Restricted Project
Szelethus added a comment to D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value.
In D64232#1570938, @NoQ wrote:

I'm slightly worried that we're fighting the symptoms rather than the root cause here: why were these values tracked that far in the first place when we already have no interest in tracking them at the end of the function?

Could you please elaborate? Which of the modified test cases (or any other) do you think falls under "being tracked too far" and why? Whenever the CFG where the value isn't linear, I think the information could be valuable, see the inline.

I.e., i suspect that your "mild tracking mode" would get rid of a lot of those automagically.

Fri, Jul 5, 8:11 AM · Restricted Project
Szelethus committed rGc8499ae35ae1: Removed the test case added in D63538 due to windows buildbot failures (authored by Szelethus).
Removed the test case added in D63538 due to windows buildbot failures
Fri, Jul 5, 7:27 AM
Szelethus added a comment to D63538: [CFG] Add a new function to get the proper condition of a CFGBlock.

Since the followup patches test this roughly anyways, and the fact that the AST's lifetime ends right after the CFG's construction makes the remaining tests pretty much pointless, if I can't resolve this, I'll just remove the testfile.

Fri, Jul 5, 7:26 AM · Restricted Project, Restricted Project
Szelethus committed rL365209: Removed the test case added in D63538 due to windows buildbot failures.
Removed the test case added in D63538 due to windows buildbot failures
Fri, Jul 5, 7:22 AM
Szelethus added a comment to D63538: [CFG] Add a new function to get the proper condition of a CFGBlock.
Fri, Jul 5, 7:22 AM · Restricted Project, Restricted Project
Szelethus committed rGb55745606fa6: [analyzer] Add a debug analyzer config to place an event for each tracked… (authored by Szelethus).
[analyzer] Add a debug analyzer config to place an event for each tracked…
Fri, Jul 5, 7:03 AM
Szelethus committed rL365208: [analyzer] Add a debug analyzer config to place an event for each tracked….
[analyzer] Add a debug analyzer config to place an event for each tracked…
Fri, Jul 5, 7:03 AM
Szelethus closed D63642: [analyzer] Add a debug analyzer config to place an event for each tracked condition.
Fri, Jul 5, 7:02 AM · Restricted Project
Szelethus committed rG258e5e457a6d: [analyzer] Track terminator conditions on which a tracked expression depends (authored by Szelethus).
[analyzer] Track terminator conditions on which a tracked expression depends
Fri, Jul 5, 6:31 AM
Szelethus committed rL365207: [analyzer] Track terminator conditions on which a tracked expression depends.
[analyzer] Track terminator conditions on which a tracked expression depends
Fri, Jul 5, 6:30 AM
Szelethus closed D62883: [analyzer] Track terminator conditions on which a tracked expressions depends.
Fri, Jul 5, 6:30 AM · Restricted Project, Restricted Project
Szelethus committed rG5e17ee1e35e4: [analyzer][IDF] Add a control dependency calculator + a new debug checker (authored by Szelethus).
[analyzer][IDF] Add a control dependency calculator + a new debug checker
Fri, Jul 5, 5:20 AM
Szelethus committed rL365197: [analyzer][IDF] Add a control dependency calculator + a new debug checker.
[analyzer][IDF] Add a control dependency calculator + a new debug checker
Fri, Jul 5, 5:17 AM
Szelethus closed D62619: [analyzer][IDF] Add a control dependency calculator + a new debug checker.
Fri, Jul 5, 5:17 AM · Restricted Project, Restricted Project
Szelethus committed rG433edaed127c: Fix a buildbot failure due to the AST's lifetime ending before the test (authored by Szelethus).
Fix a buildbot failure due to the AST's lifetime ending before the test
Fri, Jul 5, 4:16 AM
Szelethus committed rL365181: Fix a buildbot failure due to the AST's lifetime ending before the test.
Fix a buildbot failure due to the AST's lifetime ending before the test
Fri, Jul 5, 4:16 AM
Szelethus committed rG2e2db937cd2f: [analyzer][Dominators][NFC] Add unit tests (authored by Szelethus).
[analyzer][Dominators][NFC] Add unit tests
Fri, Jul 5, 3:18 AM
Szelethus committed rL365179: [analyzer][Dominators][NFC] Add unit tests.
[analyzer][Dominators][NFC] Add unit tests
Fri, Jul 5, 3:18 AM
Szelethus closed D62611: [analyzer][Dominators] Add unittests.
Fri, Jul 5, 3:17 AM · Restricted Project, Restricted Project
Szelethus committed rGd5c9d9b6820f: [CFG] Add a new function to get the proper condition of a CFGBlock (authored by Szelethus).
[CFG] Add a new function to get the proper condition of a CFGBlock
Fri, Jul 5, 2:53 AM
Szelethus committed rL365177: [CFG] Add a new function to get the proper condition of a CFGBlock.
[CFG] Add a new function to get the proper condition of a CFGBlock
Fri, Jul 5, 2:52 AM
Szelethus closed D63538: [CFG] Add a new function to get the proper condition of a CFGBlock.
Fri, Jul 5, 2:52 AM · Restricted Project, Restricted Project

Thu, Jul 4

Szelethus created D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value.
Thu, Jul 4, 5:10 PM · Restricted Project
Szelethus updated the diff for D62883: [analyzer] Track terminator conditions on which a tracked expressions depends.
  • Add two more test cases when a "Returning value" note is meaningful, and one where it's not
  • Fix inlines!
Thu, Jul 4, 2:50 PM · Restricted Project, Restricted Project
Szelethus accepted D63920: [CTU] Add support for virtual functions.

LGTM

Thu, Jul 4, 2:57 AM · Restricted Project, Restricted Project

Wed, Jul 3

Szelethus added a comment to D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.

This checker isn't in alpha -- did you evaluate it on LLVM? Other than that, looks great!

Wed, Jul 3, 3:46 PM · Restricted Project, Restricted Project
Szelethus updated the diff for D63538: [CFG] Add a new function to get the proper condition of a CFGBlock.

Add one more assert to GetExprText.

Wed, Jul 3, 3:41 PM · Restricted Project, Restricted Project
Szelethus updated the diff for D63538: [CFG] Add a new function to get the proper condition of a CFGBlock.
  • Bail out if the actual terminator isn't a branch
  • Bail out if the number of successors is less than 2
  • LLVM-ify the code as suggested!
  • Add some unit tests (I mean, you can kinda see how it was duct taped together, but it's maybe a hair better than nothing?)
Wed, Jul 3, 3:34 PM · Restricted Project, Restricted Project
Szelethus accepted D64153: [analyzer] exploded-graph-rewriter: Add a grayscale mode..

BRILLIANT

Wed, Jul 3, 1:31 PM · Restricted Project, Restricted Project
Szelethus added inline comments to D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
Wed, Jul 3, 11:55 AM · Restricted Project, Restricted Project
Szelethus updated the diff for D63538: [CFG] Add a new function to get the proper condition of a CFGBlock.

Let's not try to tinker with something in a way that could have unforeseen consequences. I added a new method to simply get the condition the way I (and probably @xazax.hun) will need it.

Wed, Jul 3, 10:32 AM · Restricted Project, Restricted Project