Page MenuHomePhabricator

vsavchenko (Valeriy Savchenko)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 6 2020, 5:32 AM (53 w, 22 h)

Recent Activity

Yesterday

vsavchenko added a comment to D99262: [analyzer] Fix dead store checker false positive.

Support nested init lists

Thanks for addressing the nested lists! (And sorry for the late reply, I was on vacation)

Mon, Apr 12, 6:14 AM · Restricted Project

Thu, Apr 8

vsavchenko committed rG663ac91ed1d6: [analyzer] Fix false positives in inner pointer checker (PR49628) (authored by vsavchenko).
[analyzer] Fix false positives in inner pointer checker (PR49628)
Thu, Apr 8, 10:30 AM
vsavchenko closed D99260: [analyzer] Fix false positives in inner pointer checker (PR49628).
Thu, Apr 8, 10:30 AM · Restricted Project
vsavchenko committed rG4b958dd6bcca: [analyzer] Fix crash on spaceship operator (PR47511) (authored by vsavchenko).
[analyzer] Fix crash on spaceship operator (PR47511)
Thu, Apr 8, 10:29 AM
vsavchenko closed D99181: [analyzer] Fix crash on spaceship operator (PR47511).
Thu, Apr 8, 10:29 AM · Restricted Project
vsavchenko updated the diff for D99181: [analyzer] Fix crash on spaceship operator (PR47511).

Change produced SVal for the spaceship operator from Undefined to Unknown

Thu, Apr 8, 7:55 AM · Restricted Project
vsavchenko committed rG9f0d8bac144c: [analyzer] Fix dead store checker false positive (authored by vsavchenko).
[analyzer] Fix dead store checker false positive
Thu, Apr 8, 6:20 AM
vsavchenko closed D99262: [analyzer] Fix dead store checker false positive.
Thu, Apr 8, 6:20 AM · Restricted Project
vsavchenko updated the diff for D99260: [analyzer] Fix false positives in inner pointer checker (PR49628).

Require std::data to accept exactly 1 argument

Thu, Apr 8, 6:09 AM · Restricted Project
vsavchenko added inline comments to D99797: [analyzer] Implemented RangeSet::Factory::unite function to handle intersections and adjacency.
Thu, Apr 8, 5:20 AM · Restricted Project
vsavchenko added a comment to D99797: [analyzer] Implemented RangeSet::Factory::unite function to handle intersections and adjacency.

Well, that is a nice exercise for "two pointer" problems, but can we please talk about the actual use case for it?

Thu, Apr 8, 4:06 AM · Restricted Project

Wed, Apr 7

vsavchenko updated the diff for D99262: [analyzer] Fix dead store checker false positive.

Support nested init lists

Wed, Apr 7, 6:23 AM · Restricted Project
vsavchenko added a comment to D99262: [analyzer] Fix dead store checker false positive.

Looks good. Thank you.

Wed, Apr 7, 6:16 AM · Restricted Project
vsavchenko added inline comments to D99262: [analyzer] Fix dead store checker false positive.
Wed, Apr 7, 6:05 AM · Restricted Project
vsavchenko committed rG77f1e096e8a0: [-Wcompletion-handler] Don't recognize init methods as conventional (authored by vsavchenko).
[-Wcompletion-handler] Don't recognize init methods as conventional
Wed, Apr 7, 3:50 AM
vsavchenko closed D99601: [-Wcompletion-handler] Don't recognize init methods as conventional.
Wed, Apr 7, 3:50 AM · Restricted Project
vsavchenko committed rG4821c15691ba: [analyzer] Fix body farm for Obj-C++ properties (authored by vsavchenko).
[analyzer] Fix body farm for Obj-C++ properties
Wed, Apr 7, 3:45 AM
vsavchenko closed D99194: [analyzer] Fix body farm for Obj-C++ properties.
Wed, Apr 7, 3:45 AM · Restricted Project

Tue, Apr 6

vsavchenko updated the diff for D99194: [analyzer] Fix body farm for Obj-C++ properties.

Set Prop and IVar at the same time

Tue, Apr 6, 11:44 AM · Restricted Project
vsavchenko added inline comments to D99262: [analyzer] Fix dead store checker false positive.
Tue, Apr 6, 11:13 AM · Restricted Project
vsavchenko added inline comments to D99194: [analyzer] Fix body farm for Obj-C++ properties.
Tue, Apr 6, 11:06 AM · Restricted Project
vsavchenko added a comment to D69726: [analyzer] DynamicSize: Store the dynamic size.

@Charusso
It looks like this patch introduced a some weird false positive on PostgreSQL


I'll try to look at it myself and minimize it, but maybe you can get an idea from a full report.

Could you supply us with all the divergence please? If there is only one case, may we can ignore it by appending it to @NoQ's extremely-weird-bugs.txt so people can focus on more important stuff.

What I see in the bug report is that: line 3290 - guc_malloc() returns null and it is a true positive.

Tue, Apr 6, 9:58 AM · Restricted Project
vsavchenko added a comment to D69726: [analyzer] DynamicSize: Store the dynamic size.

@Charusso
It looks like this patch introduced a some weird false positive on PostgreSQL


I'll try to look at it myself and minimize it, but maybe you can get an idea from a full report.

Tue, Apr 6, 9:08 AM · Restricted Project
vsavchenko added inline comments to D99601: [-Wcompletion-handler] Don't recognize init methods as conventional.
Tue, Apr 6, 3:44 AM · Restricted Project
vsavchenko updated the diff for D99601: [-Wcompletion-handler] Don't recognize init methods as conventional.

Use builtin way of checking for init methods

Tue, Apr 6, 3:43 AM · Restricted Project

Sat, Apr 3

vsavchenko added inline comments to D99797: [analyzer] Implemented RangeSet::Factory::unite function to handle intersections and adjacency.
Sat, Apr 3, 3:52 AM · Restricted Project
vsavchenko added inline comments to D99797: [analyzer] Implemented RangeSet::Factory::unite function to handle intersections and adjacency.
Sat, Apr 3, 3:28 AM · Restricted Project
vsavchenko added a comment to D99797: [analyzer] Implemented RangeSet::Factory::unite function to handle intersections and adjacency.

@vsavchenko
OK, what do you think of *adjacency* feature? I mean it simplifies such ranges [1,2][3,4][5,6] to [1,6]. Is it worth for implementation?

Sat, Apr 3, 3:26 AM · Restricted Project

Fri, Apr 2

vsavchenko requested changes to D99797: [analyzer] Implemented RangeSet::Factory::unite function to handle intersections and adjacency.
Fri, Apr 2, 9:15 AM · Restricted Project
vsavchenko added a comment to D99797: [analyzer] Implemented RangeSet::Factory::unite function to handle intersections and adjacency.

Thanks for working on improvements of the solver and constraints! However, I have some tough questions about this patch.

Fri, Apr 2, 9:15 AM · Restricted Project

Wed, Mar 31

vsavchenko added inline comments to D99260: [analyzer] Fix false positives in inner pointer checker (PR49628).
Wed, Mar 31, 7:16 AM · Restricted Project
vsavchenko added inline comments to D99658: [analyzer] Fix clang_analyzer_getExtent for heap regions.
Wed, Mar 31, 6:33 AM · Restricted Project
vsavchenko accepted D99658: [analyzer] Fix clang_analyzer_getExtent for heap regions.

Looking great! Thanks!

Wed, Mar 31, 6:32 AM · Restricted Project

Tue, Mar 30

vsavchenko requested review of D99601: [-Wcompletion-handler] Don't recognize init methods as conventional.
Tue, Mar 30, 9:09 AM · Restricted Project
vsavchenko committed rGaf7e1f07ac03: [analyzer] Fix crash when reasoning about C11 atomics (PR49422) (authored by vsavchenko).
[analyzer] Fix crash when reasoning about C11 atomics (PR49422)
Tue, Mar 30, 6:05 AM
vsavchenko closed D99274: [analyzer] Fix crash when reasoning about C11 atomics (PR49422).
Tue, Mar 30, 6:04 AM · Restricted Project
vsavchenko committed rG90377308de6c: [analyzer] Support allocClassWithName in OSObjectCStyleCast checker (authored by vsavchenko).
[analyzer] Support allocClassWithName in OSObjectCStyleCast checker
Tue, Mar 30, 5:58 AM
vsavchenko closed D99500: [analyzer] Support allocClassWithName in OSObjectCStyleCast checker.
Tue, Mar 30, 5:58 AM · Restricted Project
vsavchenko added a comment to D99500: [analyzer] Support allocClassWithName in OSObjectCStyleCast checker.
In D99500#2657675, @NoQ wrote:

LGTM! Thanks for formatting ^.^

WDYT about a heuristic that literally matches the source code of the casted expression as plain text to see if it mentions the type? Like, regardless of allocClassWithName(), if it mentions the type it probably has something to do with that type.

Tue, Mar 30, 5:44 AM · Restricted Project

Mon, Mar 29

vsavchenko requested review of D99500: [analyzer] Support allocClassWithName in OSObjectCStyleCast checker.
Mon, Mar 29, 5:47 AM · Restricted Project
vsavchenko added a comment to D99260: [analyzer] Fix false positives in inner pointer checker (PR49628).

I recommend splitting this into two. I would happily accept the part about std::data().

IMO std::addressof() should be modelled via evalCall as a pure function, instead of hacking it into the InnerPtrChecker.

Mon, Mar 29, 2:33 AM · Restricted Project
vsavchenko updated the diff for D99262: [analyzer] Fix dead store checker false positive.

Add another test

Mon, Mar 29, 2:25 AM · Restricted Project
vsavchenko updated the diff for D99262: [analyzer] Fix dead store checker false positive.

Add comments

Mon, Mar 29, 2:17 AM · Restricted Project

Thu, Mar 25

vsavchenko added a comment to D99343: [Analyzer] Infer 0 value when the divisible is 0 (bug fix).

Awesome! Thanks!

Thu, Mar 25, 10:25 AM · Restricted Project
vsavchenko added a comment to D99344: [Analyzer] Track RValue expressions.

From the first glance, everything is looking good! Thanks for addressing this!
But I still need to have a deeper look.

Thu, Mar 25, 8:22 AM · Restricted Project
vsavchenko accepted D99343: [Analyzer] Infer 0 value when the divisible is 0 (bug fix).

Looks great!

Thu, Mar 25, 8:17 AM · Restricted Project

Wed, Mar 24

vsavchenko added a comment to D99262: [analyzer] Fix dead store checker false positive.

I see your point.

Would it report this issue?

int test() {
  struct Foo foo = {0, 0}; // I would expect a warning here, that 'foo' was initialized but never read.
  (void)foo;
 return 0;
}

Only nits besides this.

Wed, Mar 24, 11:54 AM · Restricted Project
vsavchenko requested review of D99274: [analyzer] Fix crash when reasoning about C11 atomics (PR49422).
Wed, Mar 24, 9:06 AM · Restricted Project
vsavchenko added inline comments to D99181: [analyzer] Fix crash on spaceship operator (PR47511).
Wed, Mar 24, 7:48 AM · Restricted Project
vsavchenko requested review of D99262: [analyzer] Fix dead store checker false positive.
Wed, Mar 24, 6:53 AM · Restricted Project
vsavchenko requested review of D99260: [analyzer] Fix false positives in inner pointer checker (PR49628).
Wed, Mar 24, 6:18 AM · Restricted Project

Tue, Mar 23

vsavchenko requested review of D99194: [analyzer] Fix body farm for Obj-C++ properties.
Tue, Mar 23, 8:54 AM · Restricted Project
vsavchenko requested review of D99181: [analyzer] Fix crash on spaceship operator (PR47511).
Tue, Mar 23, 5:41 AM · Restricted Project

Mon, Mar 22

vsavchenko committed rG02b51e5316cd: [analyzer][solver] Redesign constraint ranges data structure (authored by vsavchenko).
[analyzer][solver] Redesign constraint ranges data structure
Mon, Mar 22, 3:53 AM
vsavchenko closed D86465: [analyzer][solver] Redesign constraint ranges data structure.
Mon, Mar 22, 3:53 AM · Restricted Project
vsavchenko added a comment to D86465: [analyzer][solver] Redesign constraint ranges data structure.

This is not only a compiler feature, it also should be supported by the target architecture:
https://godbolt.org/z/ddjYYx9x6

It's getting complicated then xD. I guess we should complement unittests with LIT tests?
You can know there that clang is recent enough and pinning the target triple would also solve this.

Mon, Mar 22, 3:48 AM · Restricted Project
vsavchenko added a comment to D86465: [analyzer][solver] Redesign constraint ranges data structure.

Ah, I wanted to give it a go, but the bots caught an assertion failure for the parent revision of this. See the details at the Bugzilla ticket.

What is more concerning is that this patch resolves that assertion failure. I guess it implies it can not be NFC?
Regardless, I'm gonna wait to get that issue fixed before I have a deeper look.

Mon, Mar 22, 3:14 AM · Restricted Project
vsavchenko added a comment to D86465: [analyzer][solver] Redesign constraint ranges data structure.

Given that it did not change any reports in our testbench it seems to be safe to land it.

It clearly improves the API significantly, so I'm not opposing.
Really good work @vsavchenko.

Mon, Mar 22, 1:57 AM · Restricted Project
vsavchenko added a comment to D86465: [analyzer][solver] Redesign constraint ranges data structure.

Ah, I wanted to give it a go, but the bots caught an assertion failure for the parent revision of this. See the details at the Bugzilla ticket.

What is more concerning is that this patch resolves that assertion failure. I guess it implies it can not be NFC?
Regardless, I'm gonna wait to get that issue fixed before I have a deeper look.

Mon, Mar 22, 1:36 AM · Restricted Project
vsavchenko committed rG3085bda2b348: [analyzer][solver] Fix infeasible constraints (PR49642) (authored by vsavchenko).
[analyzer][solver] Fix infeasible constraints (PR49642)
Mon, Mar 22, 1:02 AM
vsavchenko closed D98948: [analyzer][solver] Fix infeasible constraints (PR49642).
Mon, Mar 22, 1:02 AM · Restricted Project
vsavchenko updated the diff for D98948: [analyzer][solver] Fix infeasible constraints (PR49642).

Re-write the test using %clang_analyze_cc1

Mon, Mar 22, 1:00 AM · Restricted Project

Fri, Mar 19

vsavchenko added inline comments to D98948: [analyzer][solver] Fix infeasible constraints (PR49642).
Fri, Mar 19, 11:00 PM · Restricted Project
vsavchenko updated the diff for D98948: [analyzer][solver] Fix infeasible constraints (PR49642).

Fix typos in comments

Fri, Mar 19, 7:08 AM · Restricted Project
vsavchenko requested review of D98948: [analyzer][solver] Fix infeasible constraints (PR49642).
Fri, Mar 19, 7:06 AM · Restricted Project

Thu, Mar 18

vsavchenko committed rG8b8b9af8c913: [-Wcalled-once-parameter][NFC] Fix GCC compilation error (authored by vsavchenko).
[-Wcalled-once-parameter][NFC] Fix GCC compilation error
Thu, Mar 18, 4:50 AM
vsavchenko committed rG4a7afc9a8843: [-Wcalled-once-parameter] Fix false positives for cleanup attr (authored by vsavchenko).
[-Wcalled-once-parameter] Fix false positives for cleanup attr
Thu, Mar 18, 2:32 AM
vsavchenko closed D98694: [-Wcalled-once-parameter] Fix false positives for cleanup attr.
Thu, Mar 18, 2:32 AM · Restricted Project
vsavchenko committed rGf1a7d5a7b0ec: [-Wcalled-once-parameter] Harden analysis in terms of block use (authored by vsavchenko).
[-Wcalled-once-parameter] Harden analysis in terms of block use
Thu, Mar 18, 2:13 AM
vsavchenko closed D98688: [-Wcalled-once-parameter] Harden analysis in terms of block use.
Thu, Mar 18, 2:13 AM · Restricted Project

Wed, Mar 17

vsavchenko added inline comments to D98688: [-Wcalled-once-parameter] Harden analysis in terms of block use.
Wed, Mar 17, 11:44 PM · Restricted Project
vsavchenko added a comment to D98622: [-Wcalled-once-parameter] Let escapes overwrite MaybeCalled states.
In D98622#2630012, @NoQ wrote:

LGTM! Do any of the high-level comments at the beginning of the file need to be updated to reflect this change?

Wed, Mar 17, 2:12 AM · Restricted Project
vsavchenko updated the diff for D98688: [-Wcalled-once-parameter] Harden analysis in terms of block use.

Replace manual memory management of IPData with std::unique_ptr

Wed, Mar 17, 2:07 AM · Restricted Project
vsavchenko committed rGc86dacd1a448: [-Wcalled-once-parameter] Let escapes overwrite MaybeCalled states (authored by vsavchenko).
[-Wcalled-once-parameter] Let escapes overwrite MaybeCalled states
Wed, Mar 17, 1:13 AM
vsavchenko closed D98622: [-Wcalled-once-parameter] Let escapes overwrite MaybeCalled states.
Wed, Mar 17, 1:13 AM · Restricted Project
vsavchenko added inline comments to D98688: [-Wcalled-once-parameter] Harden analysis in terms of block use.
Wed, Mar 17, 12:07 AM · Restricted Project

Tue, Mar 16

vsavchenko updated the diff for D86465: [analyzer][solver] Redesign constraint ranges data structure.

Add minor fix in tests

Tue, Mar 16, 9:10 AM · Restricted Project
vsavchenko added a comment to D86465: [analyzer][solver] Redesign constraint ranges data structure.

Oof, it took me quite some time to come back to this.
I don't think that I'll be able to gather more performance-related data than I already did, so if it's OK with y'all, we can land it.
@NoQ @steakhal @ASDenysPetrov ?

Tue, Mar 16, 9:06 AM · Restricted Project
vsavchenko updated the diff for D86465: [analyzer][solver] Redesign constraint ranges data structure.

Rebase and address review comments

Tue, Mar 16, 9:04 AM · Restricted Project
vsavchenko requested review of D98694: [-Wcalled-once-parameter] Fix false positives for cleanup attr.
Tue, Mar 16, 3:58 AM · Restricted Project
vsavchenko requested review of D98688: [-Wcalled-once-parameter] Harden analysis in terms of block use.
Tue, Mar 16, 2:16 AM · Restricted Project

Mon, Mar 15

vsavchenko updated the diff for D98622: [-Wcalled-once-parameter] Let escapes overwrite MaybeCalled states.

Unify the way we deal with escapes

Mon, Mar 15, 12:14 PM · Restricted Project
vsavchenko requested review of D98622: [-Wcalled-once-parameter] Let escapes overwrite MaybeCalled states.
Mon, Mar 15, 1:03 AM · Restricted Project

Mar 12 2021

vsavchenko committed rG6dc152350824: [analyzer][solver] Prevent infeasible states (PR49490) (authored by vsavchenko).
[analyzer][solver] Prevent infeasible states (PR49490)
Mar 12 2021, 4:57 AM
vsavchenko closed D98341: [analyzer][solver] Prevent infeasible states (PR49490).
Mar 12 2021, 4:57 AM · Restricted Project

Mar 11 2021

vsavchenko updated the diff for D98341: [analyzer][solver] Prevent infeasible states (PR49490).

Remove unused global variable from the test

Mar 11 2021, 4:58 AM · Restricted Project
vsavchenko updated the diff for D98341: [analyzer][solver] Prevent infeasible states (PR49490).

Make areFeasible function static

Mar 11 2021, 3:17 AM · Restricted Project
vsavchenko added inline comments to D98341: [analyzer][solver] Prevent infeasible states (PR49490).
Mar 11 2021, 3:14 AM · Restricted Project
vsavchenko updated the diff for D98341: [analyzer][solver] Prevent infeasible states (PR49490).

Fix review comments

Mar 11 2021, 3:10 AM · Restricted Project

Mar 10 2021

vsavchenko added a comment to D97874: [analyzer] Improve SVal cast from integer to bool using known RangeSet.

@steakhal I personally don't see any fundamental problems with this patch

Mar 10 2021, 6:07 AM · Restricted Project
vsavchenko requested review of D98341: [analyzer][solver] Prevent infeasible states (PR49490).
Mar 10 2021, 5:57 AM · Restricted Project

Mar 9 2021

vsavchenko added a comment to D98251: [-Wcompletion-handler] Extend list of detected conventions.
In D98251#2615049, @NoQ wrote:

Looks all clear.

In that document there's also a clause that the conventional completion handler discovered through its suffix has to be the last parameter. I don't immediately see that respective check in the code. Do we have it?

Mar 9 2021, 11:46 PM · Restricted Project
vsavchenko committed rGc7635040ce0a: [analyzer] Fix StdLibraryFunctionsChecker performance issue (authored by vsavchenko).
[analyzer] Fix StdLibraryFunctionsChecker performance issue
Mar 9 2021, 11:44 PM
vsavchenko closed D98244: [analyzer] Fix StdLibraryFunctionsChecker performance issue.
Mar 9 2021, 11:44 PM · Restricted Project
vsavchenko committed rG59112eacb979: [-Wcompletion-handler] Extend list of detected conventions (authored by vsavchenko).
[-Wcompletion-handler] Extend list of detected conventions
Mar 9 2021, 11:44 PM
vsavchenko closed D98251: [-Wcompletion-handler] Extend list of detected conventions.
Mar 9 2021, 11:43 PM · Restricted Project
vsavchenko requested review of D98251: [-Wcompletion-handler] Extend list of detected conventions.
Mar 9 2021, 4:56 AM · Restricted Project
vsavchenko requested review of D98244: [analyzer] Fix StdLibraryFunctionsChecker performance issue.
Mar 9 2021, 2:57 AM · Restricted Project
vsavchenko accepted D97277: [analyzer] [NFC] Eliminate dispatchCast, evalCastFromNonLoc and evalCastFromLoc functions from SValBuilder.

Looks great, thanks for cleaning up!

Mar 9 2021, 2:56 AM · Restricted Project

Feb 19 2021

vsavchenko added inline comments to D86465: [analyzer][solver] Redesign constraint ranges data structure.
Feb 19 2021, 5:24 AM · Restricted Project