Page MenuHomePhabricator

vsavchenko (Valeriy Savchenko)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 6 2020, 5:32 AM (33 w, 4 d)

Recent Activity

Wed, Nov 25

vsavchenko updated the diff for D92039: [-Wcalled-once-parameter] Introduce 'called_once' attribute.

Add another comment

Wed, Nov 25, 5:48 AM · Restricted Project
vsavchenko added inline comments to D92039: [-Wcalled-once-parameter] Introduce 'called_once' attribute.
Wed, Nov 25, 3:21 AM · Restricted Project
vsavchenko updated the diff for D92039: [-Wcalled-once-parameter] Introduce 'called_once' attribute.

Add more comments and fix another test.

Wed, Nov 25, 3:19 AM · Restricted Project

Tue, Nov 24

vsavchenko updated the diff for D92039: [-Wcalled-once-parameter] Introduce 'called_once' attribute.

Fix tests and a typo

Tue, Nov 24, 10:28 AM · Restricted Project
vsavchenko added a comment to D92039: [-Wcalled-once-parameter] Introduce 'called_once' attribute.

Probably irrelevant comment from the C++ world: If I needed this concept in C++, I'd probably piggyback on the existing semantic analysis of std::move: I'd design a class OnceCallable with an operator() && that both called and nulled-out its object parameter, and then call it like std::move(myCallback)(). Then if I ever tried to call it a second time, the static analyzer would (hopefully) complain that I was accessing a moved-from myCallback. But you want this for existing APIs that take the built-in block type, so never mind. :)

Tue, Nov 24, 10:21 AM · Restricted Project
vsavchenko requested review of D92039: [-Wcalled-once-parameter] Introduce 'called_once' attribute.
Tue, Nov 24, 8:39 AM · Restricted Project

Mon, Nov 23

vsavchenko added a comment to D91898: [attributes] Add a facility for defining and enforcing a Trusted Computing Base..

LGTM! But I'd like other folks to take a look at it first.

Mon, Nov 23, 12:47 AM

Oct 20 2020

vsavchenko added a comment to D89638: [Analyzer][WebKit] Add attributes to suppress specific checkers.

I was thinking about an alternative approach (5th approach (?), yeah, I think we need an RFC).

What if we had just one attribute with a StringArgument ?
Actually, we already have that with the annotate attribute.
How do you like this?

struct [[clang::annotate("CSA:supress:RefCntblBaseVirtualDtor")]] Derived2
    : RefCntblBase{};

Disadvantages: we must process strings whenever a node has the annotate attr attached, we have to come up with a "DSL".
Advantages: total flexibility.
WDYT?

Oct 20 2020, 8:38 AM

Oct 19 2020

vsavchenko added inline comments to D89638: [Analyzer][WebKit] Add attributes to suppress specific checkers.
Oct 19 2020, 10:19 AM
vsavchenko added inline comments to D89638: [Analyzer][WebKit] Add attributes to suppress specific checkers.
Oct 19 2020, 8:38 AM
vsavchenko added a comment to D89638: [Analyzer][WebKit] Add attributes to suppress specific checkers.

Great job, I think it's awesome to have more control over the analyzer with the language itself.

Oct 19 2020, 2:23 AM

Sep 21 2020

vsavchenko added a comment to D77792: [analyzer] Extend constraint manager to be able to compare simple SymSymExprs.

Great job! I also wanted to support more operations for range-based logic.

Sep 21 2020, 8:33 AM · Restricted Project
vsavchenko accepted D88019: [analyzer][solver] Fix issue with symbol non-equality tracking.

Amazing!

Sep 21 2020, 7:35 AM · Restricted Project
vsavchenko added a comment to D88019: [analyzer][solver] Fix issue with symbol non-equality tracking.

After this "accepted" and a huge thank you 😄

Sep 21 2020, 5:49 AM · Restricted Project
vsavchenko added a comment to D88019: [analyzer][solver] Fix issue with symbol non-equality tracking.

I came up with exactly the same fix! Great job!
I just wanted to refactor it and not having

Sep 21 2020, 5:39 AM · Restricted Project
vsavchenko added a comment to D82445: [analyzer][solver] Track symbol equivalence.

Hi Valery,

Together with @steakhal we have found a serious issue.
The below code crashes if you compile with -DEXPENSIVE_CHECKS.
The analyzer goes on an unfeasible path, the State has a contradiction.

We think that getRange(Sym("a != b") should return a set that does not contain 0.
https://github.com/llvm/llvm-project/blob/e63b488f2755f91e8147fd678ed525cf6ba007cc/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp#L2064
Currently that goes down to infer(QualType("int")) which results a RangeSet[INT_MIN, INT_MAX].
Stach trace attached.

// RUN: %clang_analyze_cc1 %s \
// RUN:   -analyzer-checker=core \
// RUN:   -analyzer-checker=debug.ExprInspection \
// RUN:   -triple x86_64-unknown-linux \
// RUN:   -verify

// expected-no-diagnostics

void f(int a, int b) {
  int c = b - a;
  if (c <= 0)
    return;
  // c > 0
  // b - a > 0
  // b > a
  if (a != b)
    return;
  // a == b
  // This is an unfeasible path, the State has a contradiction.
  if (c < 0) // crash here
    ;
}
#0  (anonymous namespace)::SymbolicRangeInferrer::inferRange<clang::ento::SymExpr const*> (BV=..., F=..., State=..., Origin=0x55b9979bed08) at ../../git/llvm-project/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:715
#1  0x00007fa2314dddc9 in (anonymous namespace)::RangeConstraintManager::getRange (this=0x55b99791ab10, State=..., Sym=0x55b9979bed08) at ../../git/llvm-project/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:2012
#2  0x00007fa2314de1e9 in (anonymous namespace)::RangeConstraintManager::assumeSymEQ (this=0x55b99791ab10, St=..., Sym=0x55b9979bed08, Int=..., Adjustment=...) at ../../git/llvm-project/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:2064
#3  0x00007fa23150470d in clang::ento::RangedConstraintManager::assumeSymUnsupported (this=0x55b99791ab10, State=..., Sym=0x55b9979bed08, Assumption=false) at ../../git/llvm-project/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp:136
#4  0x00007fa2315353a9 in clang::ento::SimpleConstraintManager::assumeAux (this=0x55b99791ab10, State=..., Cond=..., Assumption=false) at ../../git/llvm-project/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp:62
#5  0x00007fa23153518b in clang::ento::SimpleConstraintManager::assume (this=0x55b99791ab10, State=..., Cond=..., Assumption=false) at ../../git/llvm-project/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp:46
#6  0x00007fa2315350e5 in clang::ento::SimpleConstraintManager::assume (this=0x55b99791ab10, State=..., Cond=..., Assumption=false) at ../../git/llvm-project/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp:41
#7  0x00007fa2313d39b3 in clang::ento::ConstraintManager::assumeDual (this=0x55b99791ab10, State=..., Cond=...) at ../../git/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h:105
#8  0x00007fa2313d3bfc in clang::ento::ProgramState::assume (this=0x55b9979beef8, Cond=...) at ../../git/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h:681
#9  0x00007fa231436b8a in clang::ento::ExprEngine::evalEagerlyAssumeBinOpBifurcation (this=0x7fffdf9ce9d0, Dst=..., Src=..., Ex=0x55b9979893f0) at ../../git/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp:3058
Sep 21 2020, 1:50 AM · Restricted Project

Sep 7 2020

vsavchenko accepted D84415: [analyzer][StdLibraryFunctionsChecker] Add POSIX pthread handling functions.

LGTM!
Thanks!

Sep 7 2020, 2:40 AM · Restricted Project

Sep 2 2020

vsavchenko accepted D87004: [analyzer] Evaluate PredefinedExpressions.

Thanks!
Great job!

Sep 2 2020, 7:53 AM · Restricted Project
vsavchenko added inline comments to D87004: [analyzer] Evaluate PredefinedExpressions.
Sep 2 2020, 6:41 AM · Restricted Project
vsavchenko added a comment to D87004: [analyzer] Evaluate PredefinedExpressions.

Awesome!
Can we cover __builtin_unique_stable_name as well?

Sep 2 2020, 6:39 AM · Restricted Project
vsavchenko requested changes to D87004: [analyzer] Evaluate PredefinedExpressions.
Sep 2 2020, 3:39 AM · Restricted Project

Sep 1 2020

vsavchenko accepted D86533: (Urgent!) [release][docs][analyzer] Add 11.0.0. release notes.

I'd prefer to have a couple more green lights. In particular, another look on the constraint manager and Objective C stuff would be great.

Sep 1 2020, 1:37 AM · Restricted Project

Aug 28 2020

vsavchenko committed rG9300ca541164: [doxygen] Fix bad doxygen results for BugReporterVisitors.h (authored by OikawaKirie).
[doxygen] Fix bad doxygen results for BugReporterVisitors.h
Aug 28 2020, 2:41 AM
vsavchenko closed D85105: [doxygen] Fix bad doxygen results for BugReporterVisitors.h.
Aug 28 2020, 2:41 AM · Restricted Project

Aug 27 2020

vsavchenko added a comment to D86465: [analyzer][solver] Redesign constraint ranges data structure.

These are really promising figures, nice work! (And the measurement stuff itself is also a great addition, thanks for that!)

Thanks 😊

Not that it would matter much, but I was just wondering why there is a slightly bigger memory usage in some of the docker/small projects? The most conspicuous is oatpp.

The measurements fluctuate quite significantly and as you can see the means for both old and new experiments for oatpp are pretty close. So, I would say that the memory differences are not conclusive.
This being said, the performance measurements should also be taken with a grain of salt. We can't really say that we get 5-10% performance improvement for sure, but that analysis tends to be faster instead.

Aug 27 2020, 6:31 AM · Restricted Project
vsavchenko updated the diff for D86465: [analyzer][solver] Redesign constraint ranges data structure.

Fix review remarks

Aug 27 2020, 6:24 AM · Restricted Project

Aug 26 2020

vsavchenko added a comment to D86465: [analyzer][solver] Redesign constraint ranges data structure.

Here are some benchmarking results.
In docker:



Natively on my Mac (no memory measurements due to this issue during psutil installation):

Aug 26 2020, 3:14 AM · Restricted Project
vsavchenko added a comment to D86533: (Urgent!) [release][docs][analyzer] Add 11.0.0. release notes.

@vsavchenko I just realized a significant portion of your work for this release is the following list:

git log llvmorg-11-init..llvmorg-11.0.0-rc2 --oneline -- clang/utils/analyzer/

Is it a correct guess that while your primary audience are the analyzer developers, it wouldn't hurt to mention it in the release notes?

Aug 26 2020, 2:05 AM · Restricted Project
vsavchenko added inline comments to D86465: [analyzer][solver] Redesign constraint ranges data structure.
Aug 26 2020, 1:47 AM · Restricted Project

Aug 25 2020

vsavchenko added inline comments to D86465: [analyzer][solver] Redesign constraint ranges data structure.
Aug 25 2020, 2:18 AM · Restricted Project
vsavchenko added inline comments to D86465: [analyzer][solver] Redesign constraint ranges data structure.
Aug 25 2020, 1:10 AM · Restricted Project
vsavchenko added a comment to D86465: [analyzer][solver] Redesign constraint ranges data structure.
In D86465#2235289, @NoQ wrote:

If the numbers are confirmed to be as good as what i've sneak-peeked so far, that should be pretty amazing. Also whoa, test coverage!~

I'll add the charts with performance in the next couple of days

WDYT about moving introducing a generic "SmallImmutableSet" in llvm/ADT to back your implementation?

Oof, it is not really possible. First of all, existing RangeSet didn't really ensure that ranges do not intersect (add is/was not checking for that), and this is left for the user. Additionally, it is designed and optimized specifically for RangeSet queries and operations. Like intersect and contains in a more generic Set sense mean entirely different things.

Aug 25 2020, 12:36 AM · Restricted Project

Aug 24 2020

vsavchenko added inline comments to D86465: [analyzer][solver] Redesign constraint ranges data structure.
Aug 24 2020, 9:52 AM · Restricted Project
vsavchenko requested review of D86465: [analyzer][solver] Redesign constraint ranges data structure.
Aug 24 2020, 8:31 AM · Restricted Project
vsavchenko added a comment to D86295: [analyzer] Reorder the layout of MemRegion and cache by hand for optimal size.

Yep, I guess that is the cause. I'll take a look. Did you try it with this fast fix?

I tried, but it lacks further fixes.

Currently, I have this:

diff --git a/clang/utils/analyzer/Dockerfile b/clang/utils/analyzer/Dockerfile
index f74ff8aa95c..7727d92f98f 100644
--- a/clang/utils/analyzer/Dockerfile
+++ b/clang/utils/analyzer/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:bionic
+FROM ubuntu:bionic-20200526
 
 RUN apt-get update && apt-get install -y \
     apt-transport-https \
@@ -12,12 +12,13 @@ RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/nul
 RUN apt-add-repository -y 'deb https://apt.kitware.com/ubuntu/ bionic main'
 
 # test system dependencies
+# TODO: should we really depend on the cmake version 3.18.2 here? I don't think so.
 RUN apt-get update && apt-get install -y \
     git=1:2.17.1-1ubuntu0.7 \
     gettext=0.19.8.1-6ubuntu0.3 \
     python3=3.6.7-1~18.04 \
-    python3-pip=9.0.1-2.3~ubuntu1.18.04.1 \
-    cmake=3.17.3-0kitware1 \
+    python3-pip=9.0.1-2.3~ubuntu1.18.04.2 \
+    cmake=3.18.2-0kitware1 \
     ninja-build=1.8.2-1
 
 # box2d dependencies

I'm not sure if its the company firewall or something else.

Aug 24 2020, 7:32 AM · Restricted Project
vsavchenko committed rGaec12c1264ac: [analyzer][tests] Add a notion of project sizes (authored by vsavchenko).
[analyzer][tests] Add a notion of project sizes
Aug 24 2020, 6:13 AM
vsavchenko closed D83942: [analyzer][tests] Add a notion of project sizes.
Aug 24 2020, 6:13 AM · Restricted Project
vsavchenko added a comment to D86295: [analyzer] Reorder the layout of MemRegion and cache by hand for optimal size.

Here is a short summary how to do regression testing (check that all warnings are the same):

Oh thanks for the detailed guide, I will make the experiment.

However the ./SATest.py docker --build-image seems broken.

E: Version '9.0.1-2.3~ubuntu1.18.04.1' for 'python3-pip' was not found
The command '/bin/sh -c apt-get update && apt-get install -y     git=1:2.17.1-1ubuntu0.7     gettext=0.19.8.1-6ubuntu0.3     python3=3.6.7-1~18.04     python3-pip=9.0.1-2.3~ubuntu1.18.04.1     cmake=3.17.3-0kitware1     ninja-build=1.8.2-1' returned a non-zero code: 100

In the DockerFile it should be python3-pip=9.0.1-2.3~ubuntu1.18.04.2 instead.
Shouldn't we anchor it to a specific version of bionic in the FROM clause?

Aug 24 2020, 5:49 AM · Restricted Project
vsavchenko added a comment to D86295: [analyzer] Reorder the layout of MemRegion and cache by hand for optimal size.
In D86295#2231760, @NoQ wrote:

I believe @vsavchenko's docker thingy already knows how to do that.

Yep, it sure does! Additionally, there is a benchmark subcommand that can chart memory consumption for measured projects.

Could you point me to some docs to help getting started? I haven't used this docker image.

Aug 24 2020, 3:54 AM · Restricted Project
vsavchenko added a comment to D86295: [analyzer] Reorder the layout of MemRegion and cache by hand for optimal size.
In D86295#2231760, @NoQ wrote:

I believe @vsavchenko's docker thingy already knows how to do that.

Aug 24 2020, 2:16 AM · Restricted Project
vsavchenko added inline comments to D86027: [analyzer] Add bool operator modeling for unque_ptr.
Aug 24 2020, 1:09 AM · Restricted Project
vsavchenko added inline comments to D86293: [analyzer] Add modeling of Eq operator in smart ptr.
Aug 24 2020, 1:04 AM · Restricted Project
vsavchenko accepted D85105: [doxygen] Fix bad doxygen results for BugReporterVisitors.h.

Awesome! I will submit the patch!

Aug 24 2020, 12:53 AM · Restricted Project

Aug 13 2020

vsavchenko accepted D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..

Awesome, looks great!

Aug 13 2020, 9:58 AM · Restricted Project
vsavchenko committed rG9cbfdde2ea06: [analyzer] Fix crash with pointer to members values (authored by vsavchenko).
[analyzer] Fix crash with pointer to members values
Aug 13 2020, 8:05 AM
vsavchenko closed D85817: [analyzer] Fix crash with pointer to members values.
Aug 13 2020, 8:04 AM · Restricted Project
vsavchenko added a comment to D84415: [analyzer][StdLibraryFunctionsChecker] Add POSIX pthread handling functions.

Off-topic: I really think that we should have some sort of DSL for that kind of stuff.

Aug 13 2020, 7:59 AM · Restricted Project
vsavchenko updated the diff for D85817: [analyzer] Fix crash with pointer to members values.

Add "no crash" comments

Aug 13 2020, 6:54 AM · Restricted Project
vsavchenko updated the diff for D85817: [analyzer] Fix crash with pointer to members values.

Simplify the main test

Aug 13 2020, 6:50 AM · Restricted Project

Aug 12 2020

vsavchenko added a comment to D85817: [analyzer] Fix crash with pointer to members values.
In D85817#2213435, @NoQ wrote:

That's a fix for https://bugs.llvm.org/show_bug.cgi?id=46264.

Your code looks great but i don't understand at a glance what the crash was caused by and how does your code fix it, can you explain? Like, the original test doesn't have any void *s and it doesn't have any indirect fields. Also the crash happens during visitor phase but the fixes are entirely during modeling phase.

Aug 12 2020, 10:25 AM · Restricted Project
vsavchenko requested review of D85817: [analyzer] Fix crash with pointer to members values.
Aug 12 2020, 1:17 AM · Restricted Project
vsavchenko added a comment to D85105: [doxygen] Fix bad doxygen results for BugReporterVisitors.h.

Awesome, thanks! Buuuut, maybe we can use \ref form, it looks like it's a preferred form in the codebase.

Aug 12 2020, 12:29 AM · Restricted Project

Aug 7 2020

vsavchenko added a comment to D85528: [analyzer] Fix cast evaluation on scoped enums in ExprEngine.

Good catch!

Aug 7 2020, 8:26 AM · Restricted Project

Aug 6 2020

vsavchenko added a comment to D85431: [analyzer] Implement a new checker ThreadPrimitivesChecker.

It is an interesting checker, but it seems that this kind of checker is extremely hard in single TU/top-down analysis. It feels like it's going to produce hell a lot of false positives in the wild.
Also mutex is usually a global variable - the nemesis of any static analysis tool.

Aug 6 2020, 7:11 AM · Restricted Project
vsavchenko updated the diff for D83942: [analyzer][tests] Add a notion of project sizes.

Keep SATest.py Python2 compatible

Aug 6 2020, 2:56 AM · Restricted Project
vsavchenko committed rG6ddef9247458: [analyzer][tests] Understand when diagnostics change between builds (authored by vsavchenko).
[analyzer][tests] Understand when diagnostics change between builds
Aug 6 2020, 2:54 AM
vsavchenko closed D85311: [analyzer][tests] Understand when diagnostics change between builds.
Aug 6 2020, 2:53 AM · Restricted Project
vsavchenko added inline comments to D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..
Aug 6 2020, 1:57 AM · Restricted Project

Aug 5 2020

vsavchenko requested review of D85311: [analyzer][tests] Understand when diagnostics change between builds.
Aug 5 2020, 7:39 AM · Restricted Project
vsavchenko added a comment to D85105: [doxygen] Fix bad doxygen results for BugReporterVisitors.h.

Hey, thanks again for cleaning up the analyzer's docs 😄

Aug 5 2020, 7:10 AM · Restricted Project
vsavchenko added inline comments to D84736: [analyzer] Handle pointer difference of ElementRegion and SymbolicRegion.
Aug 5 2020, 6:15 AM · Restricted Project
vsavchenko added a comment to D84736: [analyzer] Handle pointer difference of ElementRegion and SymbolicRegion.

Great job, I'm on board with this change!

Aug 5 2020, 12:52 AM · Restricted Project
vsavchenko added a comment to D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..

Other than parameter names, it looks totally reasonable to me.

Aug 5 2020, 12:17 AM · Restricted Project

Aug 4 2020

vsavchenko accepted D67421: [analyzer] NFC: Move IssueHash to libAnalysis..

Awesome, thanks!

Aug 4 2020, 10:58 PM · Restricted Project

Aug 3 2020

vsavchenko committed rG10851f9db5f7: [analyzer][tests] Fix SATest update functionality (authored by vsavchenko).
[analyzer][tests] Fix SATest update functionality
Aug 3 2020, 8:22 AM
vsavchenko closed D84303: [analyzer][tests] Fix SATest update functionality.
Aug 3 2020, 8:21 AM · Restricted Project
vsavchenko added a comment to D85034: [analyzer] Simplify functions SVal::getAsSymbolicExpression and similar ones.

Ready! Sorry, I remember, you've already told me.

Aug 3 2020, 6:53 AM · Restricted Project

Jul 31 2020

vsavchenko added a comment to D85026: [analyzer] Introduce minor refactoring of SVal::getSubKind function.

Hey, nice catch!
However, I'm going to complain about commit messages again 😅 I would prefer having imperative mood in the message, something like "Refactor ..." or "Introduce minor refactoring..."

Jul 31 2020, 11:25 AM · Restricted Project
vsavchenko added a comment to D85034: [analyzer] Simplify functions SVal::getAsSymbolicExpression and similar ones.

Thanks for working on improving the quality of the codebase!
I again have to nitpick about the commit message, can you please change it to "Simplify ..."?

Jul 31 2020, 9:45 AM · Restricted Project

Jul 30 2020

vsavchenko added a comment to D67421: [analyzer] NFC: Move IssueHash to libAnalysis..

Other then the naming issue, I don't see any problems with this change!

Jul 30 2020, 12:50 AM · Restricted Project
vsavchenko accepted D84902: [clang-tidy] Fix ODR violation in unittests..

LGTM! Thanks for all the investigative work!

Jul 30 2020, 12:22 AM · Restricted Project

Jul 29 2020

vsavchenko accepted D84494: [Analyzer] Use of BugType in DereferenceChecker (NFC)..

Awesome, thanks!

Jul 29 2020, 10:12 AM · Restricted Project
vsavchenko accepted D84843: [Analyzer] Remove inclusion of uniqueing decl from diagnostic profile..

LGTM! Thanks for the fast fix!

Jul 29 2020, 8:46 AM · Restricted Project

Jul 28 2020

vsavchenko added inline comments to D84494: [Analyzer] Use of BugType in DereferenceChecker (NFC)..
Jul 28 2020, 1:24 AM · Restricted Project

Jul 23 2020

vsavchenko accepted D84453: [clang-tidy] Suppress one unittest on macOS..

LGTM, thanks for taking care of this!

Jul 23 2020, 12:02 PM · Restricted Project

Jul 22 2020

vsavchenko added a comment to D83660: [analyzer] Fix a crash for dereferencing an empty llvm::Optional variable in SMTConstraintManager.h..
In D83660#2167391, @NoQ wrote:

Although I'm not the most experienced one here, I think it's good to go.

Let's wait for the test to be added, sounds like it's close.

(@OikawaKirie, you can use delta debugging tools like creduce or delta to automatically write test cases for crashes)

Jul 22 2020, 10:57 AM · Restricted Project
Herald added a project to D84303: [analyzer][tests] Fix SATest update functionality: Restricted Project.
Jul 22 2020, 3:39 AM · Restricted Project
vsavchenko committed rGe63b488f2755: [analyzer][solver] Track symbol disequalities (authored by vsavchenko).
[analyzer][solver] Track symbol disequalities
Jul 22 2020, 3:03 AM
vsavchenko committed rGb13d9878b8dc: [analyzer][solver] Track symbol equivalence (authored by vsavchenko).
[analyzer][solver] Track symbol equivalence
Jul 22 2020, 3:03 AM
vsavchenko committed rGf531c1c7c0d5: [analyzer] Introduce small improvements to the solver infra (authored by vsavchenko).
[analyzer] Introduce small improvements to the solver infra
Jul 22 2020, 3:03 AM
vsavchenko closed D83286: [analyzer][solver] Track symbol disequalities.
Jul 22 2020, 3:03 AM · Restricted Project
vsavchenko closed D82445: [analyzer][solver] Track symbol equivalence.
Jul 22 2020, 3:03 AM · Restricted Project
vsavchenko closed D82381: [analyzer] Introduce small improvements to the solver infra.
Jul 22 2020, 3:03 AM · Restricted Project
vsavchenko updated the diff for D83942: [analyzer][tests] Add a notion of project sizes.

Make --projects and --max-size compatible

Jul 22 2020, 2:41 AM · Restricted Project

Jul 20 2020

vsavchenko added a comment to D83942: [analyzer][tests] Add a notion of project sizes.
In D83942#2156320, @NoQ wrote:

Sizes assigned to the projects in this commit, do not directly
correspond to the number of lines or files in the project.

Maybe QUICK/NORMAL/SLOW then? Or by purpose: BENCHMARK/DAILY/PARANOID?

Jul 20 2020, 8:24 AM · Restricted Project

Jul 16 2020

vsavchenko added a comment to D83942: [analyzer][tests] Add a notion of project sizes.

I don't speak snek, but I approve this message!

Thanks 😊

Jul 16 2020, 7:24 AM · Restricted Project
vsavchenko updated the diff for D82381: [analyzer] Introduce small improvements to the solver infra.

Rename function

Jul 16 2020, 6:43 AM · Restricted Project
Herald added a project to D83942: [analyzer][tests] Add a notion of project sizes: Restricted Project.
Jul 16 2020, 5:11 AM · Restricted Project
vsavchenko added a comment to D83877: [Analyzer] Handle unique_ptr::swap() in SmartPtrModeling.

The same thing with the commit message here, it would be better as just "Change"

Jul 16 2020, 1:03 AM · Restricted Project
vsavchenko added a comment to D77062: [analyzer] [NFC] Simplify CStringChecke::assumeZero function.

It is a good practice in many projects to make commit messages into imperative (i.e. "Improve" instead of "Improving" or "Improved"). Again, not everyone follows it, but it is good to keep it consistent, right?

Jul 16 2020, 1:02 AM · Restricted Project
vsavchenko added a comment to D83836: [Analyzer] Add checkRegionChanges for SmartPtrModeling.

Additionally, I would prefer commit message to be imperative. It is sorta like a rule of a good commit message.

Jul 16 2020, 12:49 AM · Restricted Project

Jul 15 2020

vsavchenko added inline comments to D83877: [Analyzer] Handle unique_ptr::swap() in SmartPtrModeling.
Jul 15 2020, 10:32 AM · Restricted Project
vsavchenko added inline comments to D83836: [Analyzer] Add checkRegionChanges for SmartPtrModeling.
Jul 15 2020, 9:44 AM · Restricted Project

Jul 14 2020

Artem Dergachev <adergachev@apple.com> committed rG22ebf99d717d: [analyzer] SATestBuild.py: Optionally override compiler (authored by vsavchenko).
[analyzer] SATestBuild.py: Optionally override compiler
Jul 14 2020, 4:52 PM
Artem Dergachev <adergachev@apple.com> committed rG8921022a9349: [analyzer] Modernize analyzer's Python scripts (authored by vsavchenko).
[analyzer] Modernize analyzer's Python scripts
Jul 14 2020, 4:52 PM
GitHub <noreply@github.com> committed rGd53b3c69d577: Merge pull request #1226 from SavchenkoValeriy/PR-63150074 (authored by vsavchenko).
Merge pull request #1226 from SavchenkoValeriy/PR-63150074
Jul 14 2020, 4:50 PM
vsavchenko committed rG851b59562b88: [analyzer] Fix crash for non-pointers annotated as nonnull (authored by vsavchenko).
[analyzer] Fix crash for non-pointers annotated as nonnull
Jul 14 2020, 4:50 PM
Artem Dergachev <adergachev@apple.com> committed rGb443f42ec606: [analyzer] Consider array subscripts to be interesting lvalues. (authored by vsavchenko).
[analyzer] Consider array subscripts to be interesting lvalues.
Jul 14 2020, 4:45 PM
Artem Dergachev <adergachev@apple.com> committed rG6470e5370fc5: [analyzer] Do not report CFError null dereference for nonnull params. (authored by vsavchenko).
[analyzer] Do not report CFError null dereference for nonnull params.
Jul 14 2020, 4:45 PM
Artem Dergachev <adergachev@apple.com> committed rGefedcdc01078: [analyzer] Do not report NSError null dereference for _Nonnull params. (authored by vsavchenko).
[analyzer] Do not report NSError null dereference for _Nonnull params.
Jul 14 2020, 4:45 PM