Page MenuHomePhabricator

vsavchenko (Valeriy Savchenko)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 6 2020, 5:32 AM (18 w, 2 d)

Recent Activity

Today

vsavchenko requested review of D85817: [analyzer] Fix crash with pointer to members values.
Wed, Aug 12, 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.

Wed, Aug 12, 12:29 AM · Restricted Project

Fri, Aug 7

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

Good catch!

Fri, Aug 7, 8:26 AM · Restricted Project

Thu, Aug 6

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.

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

Keep SATest.py Python2 compatible

Thu, Aug 6, 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
Thu, Aug 6, 2:54 AM
vsavchenko closed D85311: [analyzer][tests] Understand when diagnostics change between builds.
Thu, Aug 6, 2:53 AM · Restricted Project
vsavchenko added inline comments to D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..
Thu, Aug 6, 1:57 AM · Restricted Project

Wed, Aug 5

vsavchenko requested review of D85311: [analyzer][tests] Understand when diagnostics change between builds.
Wed, Aug 5, 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 😄

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

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

Wed, Aug 5, 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.

Wed, Aug 5, 12:17 AM · Restricted Project

Tue, Aug 4

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

Awesome, thanks!

Tue, Aug 4, 10:58 PM · Restricted Project

Mon, Aug 3

vsavchenko committed rG10851f9db5f7: [analyzer][tests] Fix SATest update functionality (authored by vsavchenko).
[analyzer][tests] Fix SATest update functionality
Mon, Aug 3, 8:22 AM
vsavchenko closed D84303: [analyzer][tests] Fix SATest update functionality.
Mon, Aug 3, 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.

Mon, Aug 3, 6:53 AM · Restricted Project

Fri, Jul 31

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..."

Fri, Jul 31, 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 ..."?

Fri, Jul 31, 9:45 AM · Restricted Project

Thu, Jul 30

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!

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

LGTM! Thanks for all the investigative work!

Thu, Jul 30, 12:22 AM · Restricted Project

Wed, Jul 29

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

Awesome, thanks!

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

LGTM! Thanks for the fast fix!

Wed, Jul 29, 8:46 AM · Restricted Project

Tue, Jul 28

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

Thu, Jul 23

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

LGTM, thanks for taking care of this!

Thu, Jul 23, 12:02 PM · Restricted Project

Wed, Jul 22

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)

Wed, Jul 22, 10:57 AM · Restricted Project
Herald added a project to D84303: [analyzer][tests] Fix SATest update functionality: Restricted Project.
Wed, Jul 22, 3:39 AM · Restricted Project
vsavchenko committed rGe63b488f2755: [analyzer][solver] Track symbol disequalities (authored by vsavchenko).
[analyzer][solver] Track symbol disequalities
Wed, Jul 22, 3:03 AM
vsavchenko committed rGb13d9878b8dc: [analyzer][solver] Track symbol equivalence (authored by vsavchenko).
[analyzer][solver] Track symbol equivalence
Wed, Jul 22, 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
Wed, Jul 22, 3:03 AM
vsavchenko closed D83286: [analyzer][solver] Track symbol disequalities.
Wed, Jul 22, 3:03 AM · Restricted Project
vsavchenko closed D82445: [analyzer][solver] Track symbol equivalence.
Wed, Jul 22, 3:03 AM · Restricted Project
vsavchenko closed D82381: [analyzer] Introduce small improvements to the solver infra.
Wed, Jul 22, 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

Wed, Jul 22, 2:41 AM · Restricted Project

Mon, Jul 20

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?

Mon, Jul 20, 8:24 AM · Restricted Project

Thu, Jul 16

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 😊

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

Rename function

Thu, Jul 16, 6:43 AM · Restricted Project
Herald added a project to D83942: [analyzer][tests] Add a notion of project sizes: Restricted Project.
Thu, Jul 16, 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"

Thu, Jul 16, 1:03 AM · Restricted Project
vsavchenko added a comment to D77062: [analyzer] Improve zero assumption in CStringChecke::assumeZero.

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?

Thu, Jul 16, 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.

Thu, Jul 16, 12:49 AM · Restricted Project

Wed, Jul 15

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

Tue, Jul 14

Artem Dergachev <adergachev@apple.com> committed rG22ebf99d717d: [analyzer] SATestBuild.py: Optionally override compiler (authored by vsavchenko).
[analyzer] SATestBuild.py: Optionally override compiler
Tue, Jul 14, 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
Tue, Jul 14, 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
Tue, Jul 14, 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
Tue, Jul 14, 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.
Tue, Jul 14, 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.
Tue, Jul 14, 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.
Tue, Jul 14, 4:45 PM
vsavchenko added a comment to D83286: [analyzer][solver] Track symbol disequalities.

@xazax.hun You were interested in performance ⏫

Tue, Jul 14, 4:19 AM · Restricted Project
vsavchenko added a comment to D83286: [analyzer][solver] Track symbol disequalities.

Maybe spend a few minutes remeasuring libsoundio more carefully, just in case?

Sure, will do!

Tue, Jul 14, 3:42 AM · Restricted Project
vsavchenko added inline comments to D83539: [analyzer][tests] Introduce analyzer benchmarking framework.
Tue, Jul 14, 2:41 AM · Restricted Project
vsavchenko committed rG089a0ad8bc99: [analyzer][tests] Add 5 more projects for testing (authored by vsavchenko).
[analyzer][tests] Add 5 more projects for testing
Tue, Jul 14, 1:43 AM
vsavchenko committed rG5b4f14356450: [analyzer][tests] Introduce analyzer benchmarking framework (authored by vsavchenko).
[analyzer][tests] Introduce analyzer benchmarking framework
Tue, Jul 14, 1:43 AM
vsavchenko closed D83701: [analyzer][tests] Add 5 more projects for testing.
Tue, Jul 14, 1:43 AM · Restricted Project
vsavchenko closed D83539: [analyzer][tests] Introduce analyzer benchmarking framework.
Tue, Jul 14, 1:43 AM · Restricted Project
vsavchenko added a comment to D83286: [analyzer][solver] Track symbol disequalities.
In D83286#2148787, @NoQ wrote:

Data 👍

Tue, Jul 14, 1:06 AM · Restricted Project
vsavchenko added a comment to D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..

I do like this change even apart from the clang-tidy integration epic. I strongly believe that decoupling (when done right) makes things easier and this change seems like a good first step.

Tue, Jul 14, 12:41 AM · Restricted Project
vsavchenko updated subscribers of D83660: [analyzer] Fix a crash for dereferencing an empty llvm::Optional variable in SMTConstraintManager.h..
In D83660#2148834, @NoQ wrote:

Looks like a copy-paste error indeed.

Tue, Jul 14, 12:25 AM · Restricted Project

Mon, Jul 13

vsavchenko added a comment to D83701: [analyzer][tests] Add 5 more projects for testing.

@NoQ, @Szelethus I included projects that you mentioned in a previous review.
@Szelethus it looks like tmux has quite a few dependencies after all 😅

Mon, Jul 13, 11:04 AM · Restricted Project
Herald added a project to D83701: [analyzer][tests] Add 5 more projects for testing: Restricted Project.
Mon, Jul 13, 11:00 AM · Restricted Project
vsavchenko added a comment to D83678: [analyzer] Move ReturnPtrRange checker out of alpha by fixing a false positive on end() iterator.

Nice work! I like the functionality change of it, but I'm a bit worried about the category change. When we move a checker out of alpha, I would prefer to have more information and numbers on how this checker performs on a good variety of projects.
If you ask me, the numbers I'm the most interested in are the number of warnings on different projects and how this number corresponds to the overall number of warnings that the analyser emits for all non-alpha checkers together and individually. It will help us to see how noisy the new checker is (it is not a lint check, it should be pretty rare), and see if it belongs in non-alpha.

Mon, Jul 13, 6:41 AM · Restricted Project

Jul 13 2020

vsavchenko committed rGe124062bf387: Fix bad doxygen result for class clang::ento::CallEvent and its derived classes (authored by OikawaKirie).
Fix bad doxygen result for class clang::ento::CallEvent and its derived classes
Jul 13 2020, 2:26 AM
vsavchenko closed D82356: Fix bad doxygen result for class clang::ento::CallEvent and its derived classes.
Jul 13 2020, 2:26 AM · Restricted Project
vsavchenko added a comment to D82356: Fix bad doxygen result for class clang::ento::CallEvent and its derived classes.

@OikawaKirie One last thing, what's your preferred name and email for the commit? Thanks!

Jul 13 2020, 1:54 AM · Restricted Project
vsavchenko accepted D82356: Fix bad doxygen result for class clang::ento::CallEvent and its derived classes.

Should I continue waiting for other reviewers?

Jul 13 2020, 1:45 AM · Restricted Project
vsavchenko added a comment to D83286: [analyzer][solver] Track symbol disequalities.

Introduction

I have some test results with execution times. Because the execution time varies from one execution to another, I've measured performance on master twice (I know that it's not very conclusive) to show that equivalence tracking doesn't affect performance of the analyzer. So, please, let's treat it more like a smoke test that everything stayed the same with a new functionality rather than a full-blown performance benchmarking.

Jul 13 2020, 1:28 AM · Restricted Project

Jul 10 2020

vsavchenko added a comment to D83539: [analyzer][tests] Introduce analyzer benchmarking framework.

Here is an example of how benchmarking chart looks like:

Jul 10 2020, 1:40 AM · Restricted Project
vsavchenko updated the diff for D83539: [analyzer][tests] Introduce analyzer benchmarking framework.

Rebase

Jul 10 2020, 1:35 AM · Restricted Project
vsavchenko committed rG00997d1cad9e: [analyzer][tests] Fix zip unpacking (authored by vsavchenko).
[analyzer][tests] Fix zip unpacking
Jul 10 2020, 1:33 AM
vsavchenko committed rG9c7ff0a4aaef: [analyzer][tests] Make test interruption safe (authored by vsavchenko).
[analyzer][tests] Make test interruption safe
Jul 10 2020, 1:33 AM
vsavchenko committed rG21bacc215413: [analyzer][tests] Measure peak memory consumption for every project (authored by vsavchenko).
[analyzer][tests] Measure peak memory consumption for every project
Jul 10 2020, 1:33 AM
vsavchenko closed D83374: [analyzer][tests] Fix zip unpacking.
Jul 10 2020, 1:33 AM · Restricted Project
vsavchenko closed D83373: [analyzer][tests] Make test interruption safe.
Jul 10 2020, 1:33 AM · Restricted Project
vsavchenko closed D82967: [analyzer][tests] Measure peak memory consumption for every project.
Jul 10 2020, 1:33 AM · Restricted Project
Herald added a project to D83539: [analyzer][tests] Introduce analyzer benchmarking framework: Restricted Project.
Jul 10 2020, 1:22 AM · Restricted Project
vsavchenko updated the diff for D82967: [analyzer][tests] Measure peak memory consumption for every project.

Add matplotlib and graphviz to requirements.txt

Jul 10 2020, 1:15 AM · Restricted Project

Jul 9 2020

vsavchenko updated the diff for D83286: [analyzer][solver] Track symbol disequalities.

Fix review remarks

Jul 9 2020, 6:59 AM · Restricted Project
vsavchenko added a comment to D83374: [analyzer][tests] Fix zip unpacking.
In D83374#2139505, @NoQ wrote:

I thought the OS always ignores those? Ok anyway fair enough!

I thought so too, but it looks like glob works in mysterious ways

Jul 9 2020, 2:39 AM · Restricted Project

Jul 8 2020

vsavchenko added a comment to D83374: [analyzer][tests] Fix zip unpacking.

I think that the problem is actually with the second '/', but I decided to retreat back to the form consistent to the rest glob.glob invocations in this file

Jul 8 2020, 9:38 AM · Restricted Project
vsavchenko added inline comments to D82381: [analyzer] Introduce small improvements to the solver infra.
Jul 8 2020, 8:57 AM · Restricted Project
vsavchenko added a comment to D83286: [analyzer][solver] Track symbol disequalities.

Did you take into account that e.g. a > b also is a disequality.

Jul 8 2020, 6:11 AM · Restricted Project
vsavchenko added a comment to D82381: [analyzer] Introduce small improvements to the solver infra.

Hi @ASDenysPetrov no problem at all! Thanks for taking your time and checking it.

Jul 8 2020, 5:56 AM · Restricted Project
Herald added a project to D83374: [analyzer][tests] Fix zip unpacking: Restricted Project.
Jul 8 2020, 1:53 AM · Restricted Project
Herald added a project to D83373: [analyzer][tests] Make test interruption safe: Restricted Project.
Jul 8 2020, 1:32 AM · Restricted Project

Jul 7 2020

vsavchenko updated the diff for D82445: [analyzer][solver] Track symbol equivalence.

Get rid of 'isZero'

Jul 7 2020, 3:41 AM · Restricted Project
vsavchenko added inline comments to D82445: [analyzer][solver] Track symbol equivalence.
Jul 7 2020, 3:34 AM · Restricted Project
vsavchenko updated the diff for D83286: [analyzer][solver] Track symbol disequalities.

Rebase

Jul 7 2020, 2:22 AM · Restricted Project
vsavchenko updated the diff for D82445: [analyzer][solver] Track symbol equivalence.

Rebase

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

Rebase

Jul 7 2020, 2:20 AM · Restricted Project
Herald added a project to D83286: [analyzer][solver] Track symbol disequalities: Restricted Project.
Jul 7 2020, 2:13 AM · Restricted Project
vsavchenko updated the diff for D82445: [analyzer][solver] Track symbol equivalence.

Fix comments and add a test for downcasts

Jul 7 2020, 2:08 AM · Restricted Project

Jul 6 2020

vsavchenko updated the diff for D82445: [analyzer][solver] Track symbol equivalence.

Fix review remarks

Jul 6 2020, 2:00 AM · Restricted Project

Jul 1 2020

vsavchenko added inline comments to D82967: [analyzer][tests] Measure peak memory consumption for every project.
Jul 1 2020, 11:15 PM · Restricted Project
vsavchenko created D82967: [analyzer][tests] Measure peak memory consumption for every project.
Jul 1 2020, 8:05 AM · Restricted Project

Jun 25 2020

vsavchenko added inline comments to D82445: [analyzer][solver] Track symbol equivalence.
Jun 25 2020, 5:47 AM · Restricted Project
vsavchenko committed rG495fd6404190: [analyzer] SATest: Use logger in single-threaded mode as well (authored by vsavchenko).
[analyzer] SATest: Use logger in single-threaded mode as well
Jun 25 2020, 2:32 AM
vsavchenko closed D81601: [analyzer] SATest: Use logger in single-threaded mode as well.
Jun 25 2020, 2:32 AM · Restricted Project
vsavchenko committed rG7a84ab9f9bdb: [analyzer] SATest: Fix package versions for test dependencies (authored by vsavchenko).
[analyzer] SATest: Fix package versions for test dependencies
Jun 25 2020, 2:32 AM