Page MenuHomePhabricator
Feed Advanced Search

Fri, Oct 18

NoQ added a comment to D68591: [analyzer] PR43551: Do not dereferce void* in UndefOrNullArgVisitor.

Decided to commit myself in order to hurry things up^^
Also rC375328.

Fri, Oct 18, 7:01 PM · Restricted Project
NoQ edited reviewers for D68108: Redeclare Objective-C property accessors inside the ObjCImplDecl in which they are synthesized., added: NoQ; removed: dergachev.a.
Fri, Oct 18, 6:15 PM · Restricted Project
NoQ updated the summary of D69155: [analyzer] Fix off-by-one in operator call parameter binding..
Fri, Oct 18, 1:17 PM · Restricted Project
NoQ added inline comments to D69150: [analyzer] Fix hidden node traversal in exploded graph dumps..
Fri, Oct 18, 1:08 PM · Restricted Project
NoQ added inline comments to D69155: [analyzer] Fix off-by-one in operator call parameter binding..
Fri, Oct 18, 6:55 AM · Restricted Project

Thu, Oct 17

NoQ created D69155: [analyzer] Fix off-by-one in operator call parameter binding..
Thu, Oct 17, 7:35 PM · Restricted Project
NoQ added inline comments to D69150: [analyzer] Fix hidden node traversal in exploded graph dumps..
Thu, Oct 17, 4:49 PM · Restricted Project
NoQ created D69150: [analyzer] Fix hidden node traversal in exploded graph dumps..
Thu, Oct 17, 4:49 PM · Restricted Project
NoQ closed D69015: [analyzer] Make ExplodedNode identifiers truly stable..

Closed by rC375186 but i forgot the phabricator link :)

Thu, Oct 17, 4:11 PM · Restricted Project
NoQ added inline comments to D69015: [analyzer] Make ExplodedNode identifiers truly stable..
Thu, Oct 17, 4:03 PM · Restricted Project
NoQ updated the diff for D69015: [analyzer] Make ExplodedNode identifiers truly stable..

Fxd.

Thu, Oct 17, 4:02 PM · Restricted Project

Tue, Oct 15

NoQ created D69015: [analyzer] Make ExplodedNode identifiers truly stable..
Tue, Oct 15, 7:37 PM · Restricted Project
NoQ added a comment to D68591: [analyzer] PR43551: Do not dereferce void* in UndefOrNullArgVisitor.

I think it's worth it to commit the patch as-is, because the crash seems to be fairly popular.

Tue, Oct 15, 4:32 PM · Restricted Project

Mon, Oct 14

NoQ accepted D68093: [clang-scan-deps][static analyzer] Support for clang --analyze in scan-deps.

Looks great, thanks!

Mon, Oct 14, 12:37 PM · Restricted Project, Restricted Project

Mon, Oct 7

NoQ added inline comments to D68093: [clang-scan-deps][static analyzer] Support for clang --analyze in scan-deps.
Mon, Oct 7, 5:48 PM · Restricted Project, Restricted Project
NoQ accepted D68591: [analyzer] PR43551: Do not dereferce void* in UndefOrNullArgVisitor.

Thanks!!

Mon, Oct 7, 5:45 PM · Restricted Project

Wed, Oct 2

NoQ accepted D68199: [analyzer] DynamicTypeInfo: Simplify the API.

Yup, optional sounds perfect.

Wed, Oct 2, 4:15 PM · Restricted Project

Tue, Oct 1

NoQ added inline comments to D67706: [clang][analyzer] Using CallDescription in StreamChecker..
Tue, Oct 1, 12:45 PM · Restricted Project

Mon, Sep 30

NoQ added inline comments to D67079: [analyzer] CastValueChecker: Model inheritance.
Mon, Sep 30, 2:04 PM · Restricted Project
NoQ added inline comments to D67079: [analyzer] CastValueChecker: Model inheritance.
Mon, Sep 30, 1:46 PM · Restricted Project
NoQ added inline comments to D67079: [analyzer] CastValueChecker: Model inheritance.
Mon, Sep 30, 1:19 PM · Restricted Project
NoQ added a comment to D67079: [analyzer] CastValueChecker: Model inheritance.
  • CastVisitor is the new facility which decides whether the assumptions are appropriate.
  • The math is still WIP.
Mon, Sep 30, 1:06 PM · Restricted Project
NoQ added a comment to D68199: [analyzer] DynamicTypeInfo: Simplify the API.

I actually like the idea, it makes it consistent with other maps. But you'll need to clean up memory management here. Given that you can't modify the state in getDynamicTypeInfo(), i guess you'll have to resort to smart pointers.

Mon, Sep 30, 1:00 PM · Restricted Project
NoQ added inline comments to D67706: [clang][analyzer] Using CallDescription in StreamChecker..
Mon, Sep 30, 12:49 PM · Restricted Project

Sat, Sep 28

NoQ added inline comments to D68165: [analyzer][MallocChecker][NFC] Split checkPostCall up, deploy CallDescriptionMap.
Sat, Sep 28, 7:48 AM · Restricted Project

Fri, Sep 27

NoQ accepted D68163: [analyzer][MallocChecker][NFC] Change the use of IdentifierInfo* to CallDescription.

Fantastic, thanks!!

Fri, Sep 27, 7:01 PM · Restricted Project
NoQ added a comment to D68162: [analyzer][MallocChecker][NFC] Communicate the allocation family to auxiliary functions with parameters.

Thank you, fantastic finding!

Fri, Sep 27, 6:56 PM · Restricted Project
NoQ added inline comments to D68165: [analyzer][MallocChecker][NFC] Split checkPostCall up, deploy CallDescriptionMap.
Fri, Sep 27, 6:47 PM · Restricted Project
NoQ added a reviewer for D68172: Don't install example analyzer plugins: Szelethus.

+@Szelethus because i'm a bit out-of-the-loop on plugins: i very vaguely remember that we decided to put them into tests(?)

Fri, Sep 27, 6:20 PM · Restricted Project, Restricted Project
NoQ added a comment to D67706: [clang][analyzer] Using CallDescription in StreamChecker..

It seems like this patch is diffed against your latest commit, not the master branch.

Fri, Sep 27, 6:19 PM · Restricted Project

Mon, Sep 23

NoQ added inline comments to D67938: [static analyzer] Define __clang_analyzer__ macro in driver.
Mon, Sep 23, 7:05 PM · Restricted Project
NoQ added a comment to D67932: [analyzer] Fix accidentally skipping the call during inlined defensive check suppression..

Yeah, i think we should avoid such peeking and instead try to do everything in one pass. I.e., if we need to peek at the node above us, just make a visitor that delays the decision until it has precisely the information it needs. I guess i'll be slooowly moving in this direction.

Mon, Sep 23, 5:43 PM · Restricted Project
NoQ accepted D67938: [static analyzer] Define __clang_analyzer__ macro in driver.

Thanks! I like how it makes the option transparent to fellow developers by having it show up in the -### run-line.

Mon, Sep 23, 5:28 PM · Restricted Project
NoQ added inline comments to D67938: [static analyzer] Define __clang_analyzer__ macro in driver.
Mon, Sep 23, 4:47 PM · Restricted Project
NoQ accepted D67934: [static-analyzer] Remove --analyze-auto.

Burn it!

Mon, Sep 23, 2:30 PM · Restricted Project
NoQ created D67932: [analyzer] Fix accidentally skipping the call during inlined defensive check suppression..
Mon, Sep 23, 2:23 PM · Restricted Project
NoQ updated subscribers of D67682: [WIP] Add support for preprocessing sources for analyzer.

Can we always pass in -D from the driver instead?

Mon, Sep 23, 1:37 PM
NoQ accepted D67682: [WIP] Add support for preprocessing sources for analyzer.

Accept as soon as Alex's comment is addressed somehow :)

Mon, Sep 23, 1:35 PM

Sep 19 2019

NoQ added a comment to D54823: [analyzer][MallocChecker][NFC] Document and reorganize some functions.

Is it just me or phabricator somehow refuses to display the changes since the last diff here? That's probably the commit diff is involved somehow. So i'm confused what exactly has changed >.<

Sep 19 2019, 1:17 PM · Restricted Project, Restricted Project

Sep 18 2019

NoQ added a comment to D67706: [clang][analyzer] Using CallDescription in StreamChecker..

You can go one step further to have a CallDescriptionMap, like in D62557. This would replace the whole chain of ifs with a map lookup (which is currently still a chain of ifs under the hood, but a lot less code anyway and we'll probably optimize it under the hood later).

Sep 18 2019, 2:46 PM · Restricted Project
NoQ added a comment to D67480: [analyzer] Add 'freopen' support to SimpleStreamChecker..

Btw, evalCall is not deprecated. In fact, there are no alternatives for it in many cases.

Sep 18 2019, 2:46 PM · Restricted Project
NoQ added a comment to D67682: [WIP] Add support for preprocessing sources for analyzer.

That's a nice twist, i like it!

Sep 18 2019, 11:18 AM

Sep 13 2019

NoQ added a comment to D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.

FTR, we already have a similar Static Analyzer check, eg.: https://github.com/llvm-mirror/clang/blob/release_80/test/Analysis/dispatch-once.m#L15

Sep 13 2019, 6:54 PM · Restricted Project, Restricted Project, Restricted Project

Sep 12 2019

NoQ added inline comments to D59516: [analyzer] Add custom filter functions for GenericTaintChecker.
Sep 12 2019, 3:31 PM · Restricted Project
NoQ added a comment to D66714: [analyzer] Don't run the analyzer for -analyzer-list-enabled-checkers.

rC371781.

Sep 12 2019, 3:13 PM · Restricted Project, Restricted Project
NoQ added a comment to D66714: [analyzer] Don't run the analyzer for -analyzer-list-enabled-checkers.

Umm, this test fails for me locally because i see osx checkers displayed in the list. Which is weird because they're supposed to be enabled based on the target platform, not on the host platform.

Sep 12 2019, 2:59 PM · Restricted Project, Restricted Project
NoQ added a comment to D67480: [analyzer] Add 'freopen' support to SimpleStreamChecker..

SimpleStreamChecker is a historical tutorial example, i don't think we should be updating it other than for modernizing checker API use. It was supposed to handle a few simple examples correctly but it wasn't supposed to support all sorts of different APIs.

Sep 12 2019, 2:46 PM · Restricted Project
NoQ updated subscribers of D67140: [analyzer][NFC] Fix inconsistent references to checkers as "checks".

rL371773 - thanks @timshen!

Sep 12 2019, 2:25 PM · Restricted Project, Restricted Project
NoQ added a comment to D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..

...and the second is similar in nature, but in the actual code -- it doesn't doesn't feel natural to me that AnalyzerOptions is required to construct this, while at the same time we're trying to make diagnostics construction independent of the analyzer.

Sep 12 2019, 2:12 PM · Restricted Project
NoQ added a comment to D59516: [analyzer] Add custom filter functions for GenericTaintChecker.

I'd like the test cases to actually demonstrate the correct use of the filters and the correct behavior of the Analyzer when the filters are annotated correctly, but it looks to me that they either demonstrate behavior when the annotation is not used correctly, or we disagree about how the taint should work in the first place. Testing the behavior when the annotation is misplaced is fine (with enough comments and probably FIXMEs where applicable), but "positive" tests are more valuable because they are the actual common cases (hopefully).

Sep 12 2019, 1:23 PM · Restricted Project

Sep 11 2019

NoQ accepted D67473: [clang-tidy] Fix build with -DBUILD_SHARED_LIB=ON.

Aha, nice, thank you!!

Sep 11 2019, 5:58 PM · Restricted Project, Restricted Project
NoQ updated the diff for D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..

Unforget to actually move the consumer implementations to libAnalysis, not just their headers.

Sep 11 2019, 4:21 PM · Restricted Project
NoQ updated the diff for D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..

Clean up a tiny bit of dead code.

Sep 11 2019, 4:15 PM · Restricted Project
NoQ updated the diff for D67421: [analyzer] NFC: Move IssueHash to libAnalysis..

Rename BugType to WarningMessage, add comments.

Sep 11 2019, 4:00 PM · Restricted Project
NoQ updated the diff for D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..

Unforget to do the same for the text consumer. As a side effect, the factory function for the text consumer is no longer special, which will be less confusing when put in libAnalysis.

Sep 11 2019, 3:55 PM · Restricted Project
NoQ added a comment to D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis..

Looks great! Are we sure that PathDiagnostic.h is a good header name?

Sep 11 2019, 1:53 PM · Restricted Project, Restricted Project
NoQ added a comment to D67381: [analyzer] NFC: Move stack hints to a side map..

Side note, now that you had to work with the freshly rewritten file, do you have any feedback on it?

Sep 11 2019, 1:53 PM · Restricted Project, Restricted Project
NoQ added inline comments to D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic..
Sep 11 2019, 12:13 PM · Restricted Project, Restricted Project
NoQ added a comment to D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..

Hmm, does anybody want me to write an example tool that emits path diagnostics but doesn't link to libStaticAnalyzer*?

Sep 11 2019, 11:54 AM · Restricted Project
NoQ added a comment to D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..

Are you planning to move users of these options -- like PlistDiagnostics -- to libAnalysis?

Sep 11 2019, 11:39 AM · Restricted Project
NoQ added a comment to D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..
  • For these select 4 options that suffer compatibility issues, manually check AnalyzerOptions::ConfigTable.
Sep 11 2019, 11:35 AM · Restricted Project
NoQ added a comment to D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..

I do!

Sep 11 2019, 11:33 AM · Restricted Project
NoQ added inline comments to D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..
Sep 11 2019, 11:24 AM · Restricted Project
NoQ added a comment to D67421: [analyzer] NFC: Move IssueHash to libAnalysis..

The "bugtype" in IssueHash is specific to Static Analyzer (or at least not documented sufficiently abstractly).

Sep 11 2019, 11:24 AM · Restricted Project
NoQ added inline comments to D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic..
Sep 11 2019, 11:08 AM · Restricted Project, Restricted Project
NoQ added inline comments to D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic..
Sep 11 2019, 10:58 AM · Restricted Project, Restricted Project
NoQ added inline comments to D67381: [analyzer] NFC: Move stack hints to a side map..
Sep 11 2019, 10:56 AM · Restricted Project, Restricted Project

Sep 10 2019

NoQ created D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..
Sep 10 2019, 5:00 PM · Restricted Project
NoQ added a child revision for D67421: [analyzer] NFC: Move IssueHash to libAnalysis.: D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..
Sep 10 2019, 5:00 PM · Restricted Project
NoQ added a parent revision for D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis.: D67421: [analyzer] NFC: Move IssueHash to libAnalysis..
Sep 10 2019, 5:00 PM · Restricted Project
NoQ added a parent revision for D67421: [analyzer] NFC: Move IssueHash to libAnalysis.: D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..
Sep 10 2019, 4:50 PM · Restricted Project
NoQ added a child revision for D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions.: D67421: [analyzer] NFC: Move IssueHash to libAnalysis..
Sep 10 2019, 4:50 PM · Restricted Project
NoQ created D67421: [analyzer] NFC: Move IssueHash to libAnalysis..
Sep 10 2019, 4:49 PM · Restricted Project
NoQ added a parent revision for D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions.: D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis..
Sep 10 2019, 4:49 PM · Restricted Project
NoQ added reviewers for D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions.: alexfh, gribozavr.
Sep 10 2019, 4:49 PM · Restricted Project
NoQ added a child revision for D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis.: D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..
Sep 10 2019, 4:49 PM · Restricted Project, Restricted Project
NoQ created D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..
Sep 10 2019, 4:49 PM · Restricted Project
NoQ added inline comments to D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis..
Sep 10 2019, 4:38 PM · Restricted Project, Restricted Project
NoQ added a parent revision for D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis.: D67418: [analyzer] NFC: Move PathDiagnostic::resetDiagnosticLocationToMainFile to bug reporter..
Sep 10 2019, 4:37 PM · Restricted Project, Restricted Project
NoQ added a child revision for D67418: [analyzer] NFC: Move PathDiagnostic::resetDiagnosticLocationToMainFile to bug reporter.: D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis..
Sep 10 2019, 4:37 PM · Restricted Project, Restricted Project
NoQ created D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis..
Sep 10 2019, 4:37 PM · Restricted Project, Restricted Project
NoQ added a parent revision for D67418: [analyzer] NFC: Move PathDiagnostic::resetDiagnosticLocationToMainFile to bug reporter.: D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic..
Sep 10 2019, 4:30 PM · Restricted Project, Restricted Project
NoQ added a child revision for D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic.: D67418: [analyzer] NFC: Move PathDiagnostic::resetDiagnosticLocationToMainFile to bug reporter..
Sep 10 2019, 4:30 PM · Restricted Project, Restricted Project
NoQ created D67418: [analyzer] NFC: Move PathDiagnostic::resetDiagnosticLocationToMainFile to bug reporter..
Sep 10 2019, 4:30 PM · Restricted Project, Restricted Project
NoQ added a comment to D67140: [analyzer][NFC] Fix inconsistent references to checkers as "checks".

%select

Sep 10 2019, 10:25 AM · Restricted Project, Restricted Project

Sep 9 2019

NoQ added inline comments to D67079: [analyzer] CastValueChecker: Model inheritance.
Sep 9 2019, 8:14 PM · Restricted Project
NoQ added inline comments to D67079: [analyzer] CastValueChecker: Model inheritance.
Sep 9 2019, 8:00 PM · Restricted Project
NoQ added a comment to D67336: [analyzer][NFC] Introduce SuperChecker<>, a convenient alternative to Checker<> for storing subcheckers.

I have mixed feelings. Removing boilerplate is good, but the very fact that we're legalizing this pattern indicates that our checkers will keep bloating up, while i always wanted to actually split them instead (like, make sub-checkers into their own separate classes, possibly spread out into different files, kinda micro checkers as opposed to monolithic checkers (?)). But i guess it's about whoever gets things done first :)

Sep 9 2019, 6:55 PM · Restricted Project
NoQ accepted D67335: [analyzer][NFC] Refactor the checker registration unit test file.
Sep 9 2019, 6:42 PM · Restricted Project
NoQ added a comment to D64991: [analyzer][WIP] Implement a primitive reaching definitions analysis.

Hmm, we could make a redundant assignments checker: if a variable has multiple reaching definitions, but those all assign the same value, emit a warning. We could even use fixits with that.

void t(int a) {
  if (coin())
    a = 2; // note: reaching def
  else
    a = 2; // note: reaching def
  use(a); // warn: a is always 2 here
}
Sep 9 2019, 5:27 PM · Restricted Project
NoQ added a comment to D67140: [analyzer][NFC] Fix inconsistent references to checkers as "checks".

We should take a page from desktop software here. If the messages were in a separate file, there would be a lot of people capable of mass-editing them. When messages are hardcoded in the tool code, navigating and editing them requires more skill, and definitely a lot more jumping around.

Sep 9 2019, 5:24 PM · Restricted Project, Restricted Project
NoQ added a parent revision for D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic.: D67381: [analyzer] NFC: Move stack hints to a side map..
Sep 9 2019, 4:54 PM · Restricted Project, Restricted Project
NoQ added a child revision for D67381: [analyzer] NFC: Move stack hints to a side map.: D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic..
Sep 9 2019, 4:54 PM · Restricted Project, Restricted Project
NoQ created D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic..
Sep 9 2019, 4:53 PM · Restricted Project, Restricted Project
NoQ created D67381: [analyzer] NFC: Move stack hints to a side map..
Sep 9 2019, 4:39 PM · Restricted Project, Restricted Project
NoQ added inline comments to D67024: [analyzer] NFC: Replace intrusive list of bug reports with a vector of pointers..
Sep 9 2019, 1:39 PM · Restricted Project, Restricted Project
NoQ added inline comments to D66572: [analyzer] NFC: BugReporter Separation Ep.I..
Sep 9 2019, 1:39 PM · Restricted Project, Restricted Project

Sep 6 2019

NoQ added a comment to D67156: [Analyzer] Debug Checkers for Container and Iterator Inspection.

I'm sadly not knowledgeable enough with CallDescriptionMap

Sep 6 2019, 6:24 PM · Restricted Project
NoQ added inline comments to D67156: [Analyzer] Debug Checkers for Container and Iterator Inspection.
Sep 6 2019, 5:07 PM · Restricted Project
NoQ added a comment to D67156: [Analyzer] Debug Checkers for Container and Iterator Inspection.

Yup, thanks, this is really nice!

Sep 6 2019, 5:07 PM · Restricted Project