Page MenuHomePhabricator

ymandel (Yitzhak Mandelbaum)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 27 2018, 12:45 PM (191 w, 1 d)

Recent Activity

Yesterday

ymandel committed rG3682e22ef404: [clang][dataflow] Improve handling of constructor initializers. (authored by ymandel).
[clang][dataflow] Improve handling of constructor initializers.
Fri, May 27, 7:02 AM · Restricted Project, Restricted Project
ymandel closed D126419: [clang][dataflow] Improve handling of constructor initializers..
Fri, May 27, 7:02 AM · Restricted Project, Restricted Project
ymandel committed rG67136d0e8fb5: [clang][dataflow] Remove private-field filtering from `StorageLocation`… (authored by ymandel).
[clang][dataflow] Remove private-field filtering from `StorageLocation`…
Fri, May 27, 6:53 AM · Restricted Project, Restricted Project
ymandel closed D126420: [clang][dataflow] Remove private-field filtering from `StorageLocation` creation..
Fri, May 27, 6:53 AM · Restricted Project, Restricted Project

Thu, May 26

ymandel added inline comments to D126420: [clang][dataflow] Remove private-field filtering from `StorageLocation` creation..
Thu, May 26, 5:09 AM · Restricted Project, Restricted Project
ymandel updated the diff for D126420: [clang][dataflow] Remove private-field filtering from `StorageLocation` creation..

address review comments

Thu, May 26, 5:08 AM · Restricted Project, Restricted Project

Wed, May 25

ymandel requested review of D126420: [clang][dataflow] Remove private-field filtering from `StorageLocation` creation..
Wed, May 25, 1:42 PM · Restricted Project, Restricted Project
ymandel requested review of D126419: [clang][dataflow] Improve handling of constructor initializers..
Wed, May 25, 1:40 PM · Restricted Project, Restricted Project
ymandel accepted D126413: [clang][dataflow] Fix incorrect CXXThisExpr pointee for lambdas.
Wed, May 25, 1:33 PM · Restricted Project, Restricted Project
ymandel added reviewers for D126413: [clang][dataflow] Fix incorrect CXXThisExpr pointee for lambdas: xazax.hun, sgatev.
Wed, May 25, 1:22 PM · Restricted Project, Restricted Project
ymandel accepted D126405: [clang][dataflow] Relax assert on existence of `this` pointee storage.

Please wait for at least one more "accept". thanks!

Wed, May 25, 1:21 PM · Restricted Project, Restricted Project
ymandel added reviewers for D126405: [clang][dataflow] Relax assert on existence of `this` pointee storage: xazax.hun, sgatev.
Wed, May 25, 1:21 PM · Restricted Project, Restricted Project

Tue, May 24

ymandel committed rG2f93bbb9cd7c: [clang][dataflow] Relax `Environment` comparison operation. (authored by ymandel).
[clang][dataflow] Relax `Environment` comparison operation.
Tue, May 24, 1:58 PM · Restricted Project, Restricted Project
ymandel closed D126314: [clang][dataflow] Relax `Environment` comparison operation..
Tue, May 24, 1:58 PM · Restricted Project, Restricted Project
ymandel committed rG6eb9e0f5ebb9: [clang][dataflow] Make limit on fixpoint-algorithm iterations proportional to… (authored by ymandel).
[clang][dataflow] Make limit on fixpoint-algorithm iterations proportional to…
Tue, May 24, 1:20 PM · Restricted Project, Restricted Project
ymandel closed D126316: [clang][dataflow] Make limit on fixpoint-algorithm iterations proportional to size of CFG..
Tue, May 24, 1:20 PM · Restricted Project, Restricted Project
ymandel added a comment to D126316: [clang][dataflow] Make limit on fixpoint-algorithm iterations proportional to size of CFG..

or min(MaxAverageVisitsPerBlock * BlockStates.size(), 2^16);

Tue, May 24, 12:36 PM · Restricted Project, Restricted Project
ymandel updated the summary of D126316: [clang][dataflow] Make limit on fixpoint-algorithm iterations proportional to size of CFG..
Tue, May 24, 12:35 PM · Restricted Project, Restricted Project
ymandel updated the diff for D126316: [clang][dataflow] Make limit on fixpoint-algorithm iterations proportional to size of CFG..

Reinstated absolute limit of 2^16.

Tue, May 24, 12:34 PM · Restricted Project, Restricted Project
ymandel requested review of D126316: [clang][dataflow] Make limit on fixpoint-algorithm iterations proportional to size of CFG..
Tue, May 24, 12:11 PM · Restricted Project, Restricted Project
ymandel requested review of D126314: [clang][dataflow] Relax `Environment` comparison operation..
Tue, May 24, 12:02 PM · Restricted Project, Restricted Project
ymandel added a comment to D124932: [clang][dataflow] Track `optional` contents in `optional` model..

sgatev@ -- gentle ping.

Tue, May 24, 5:54 AM · Restricted Project, Restricted Project

Fri, May 20

ymandel added a comment to D125931: [clang][dataflow] Add support for correlated branches to optional model.

Actually, I think in most cases we want to be consistent on how to merge bool values. So I wonder whether instead of reimplementing the merge operation in this check we should just call a function that does the work. And the same function should be used within the engine to merge states after if statements and so on.

Fri, May 20, 6:16 AM · Restricted Project, Restricted Project

Thu, May 19

ymandel added a comment to D125931: [clang][dataflow] Add support for correlated branches to optional model.

Thanks! Looks good overall, just the one question about loops.

Thu, May 19, 6:02 AM · Restricted Project, Restricted Project

Tue, May 17

ymandel accepted D125821: [clang][dataflow] Fix double visitation of nested logical operators.

Thanks!

Tue, May 17, 1:27 PM · Restricted Project, Restricted Project
ymandel accepted D125823: [clang][dataflow] Weaken guard to only check for storage location.
Tue, May 17, 11:51 AM · Restricted Project, Restricted Project
ymandel added inline comments to D125821: [clang][dataflow] Fix double visitation of nested logical operators.
Tue, May 17, 11:50 AM · Restricted Project, Restricted Project

Fri, May 13

ymandel updated the diff for D124932: [clang][dataflow] Track `optional` contents in `optional` model..

remove stray FIXME from previous diff

Fri, May 13, 5:54 AM · Restricted Project, Restricted Project
ymandel updated the diff for D124932: [clang][dataflow] Track `optional` contents in `optional` model..

address reviewer comments and fix bug in how the nested value as _re_created -- now uses the loc's type rather than the expression's type (which doesn't always match exactly).

Fri, May 13, 5:48 AM · Restricted Project, Restricted Project

Thu, May 12

ymandel added a comment to D124932: [clang][dataflow] Track `optional` contents in `optional` model..

I'm having trouble with arcanist -- arc diff is crashing, but wanted to respond in the meantime to your questions. I hope I'll be able to actually upload the new diff soon...

Thu, May 12, 4:49 PM · Restricted Project, Restricted Project

Fri, May 6

ymandel committed rGec34de1bfe55: [clang-tidy][NFC] Fix doc typo for bugprone-unchecked-optional-access (authored by ymandel).
[clang-tidy][NFC] Fix doc typo for bugprone-unchecked-optional-access
Fri, May 6, 12:24 PM · Restricted Project, Restricted Project
ymandel committed rG7e63a0d479dd: [clang-tidy] New check for safe usage of `std::optional` and like types. (authored by ymandel).
[clang-tidy] New check for safe usage of `std::optional` and like types.
Fri, May 6, 12:00 PM · Restricted Project, Restricted Project, Restricted Project
ymandel closed D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..
Fri, May 6, 11:59 AM · Restricted Project, Restricted Project, Restricted Project
ymandel added inline comments to D123032: [clang][dataflow] Exclude protobuf types from modeling in the environment..
Fri, May 6, 6:32 AM · Restricted Project, Restricted Project
ymandel committed rGa45647d82b72: [clang][dataflow][NFC] Clarify guarantees on returned vector size for… (authored by ymandel).
[clang][dataflow][NFC] Clarify guarantees on returned vector size for…
Fri, May 6, 6:30 AM · Restricted Project, Restricted Project
ymandel closed D125091: [clang][dataflow][NFC] Clarify guarantees on returned vector size for `runDataflowAnalysis`..
Fri, May 6, 6:30 AM · Restricted Project, Restricted Project
ymandel added a comment to D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..

Most checks in Clang Tidy will run relatively quickly as they usually can do most/all of their work in a single traversal. I wonder whether flow sensitive checks will prove to be a bit slower. I think adding slower checks to Tidy is fine, but it would be nice to properly set the expectations to the user (e.g. if an IDE is running Tidy in the background it might want to opt out from flow sensitive checks if they turn out to be slow). In case the performance is good, I think it should be fine as is. Otherwise I wonder if we want to add something like a tag to mark flow sensitive checks and give an option to turn them off.

Excellent point. @aaron.ballman is there a mechanism for this?

I can check on the current performance, but I think this would be good to know regardless of the outcome, given that performance is subject to change and we expect to develop other flow-sensitive checks.

Fri, May 6, 6:25 AM · Restricted Project, Restricted Project, Restricted Project
ymandel requested review of D125091: [clang][dataflow][NFC] Clarify guarantees on returned vector size for `runDataflowAnalysis`..
Fri, May 6, 5:58 AM · Restricted Project, Restricted Project
ymandel added inline comments to D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..
Fri, May 6, 5:56 AM · Restricted Project, Restricted Project, Restricted Project
ymandel updated the diff for D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..

add fixme

Fri, May 6, 5:55 AM · Restricted Project, Restricted Project, Restricted Project
ymandel updated the diff for D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..

address review comments

Fri, May 6, 5:48 AM · Restricted Project, Restricted Project, Restricted Project
ymandel added a comment to D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..

Thanks for the review!

Fri, May 6, 5:48 AM · Restricted Project, Restricted Project, Restricted Project

Thu, May 5

ymandel added a comment to D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..

Overall this looks good to me. However, I think this might not use the full potential of the check itself. With the information that the dataflow framework have it could distinguish between potentially unsafe accesses and provably unsafe accesses depending on whether the has_value property is constrained to be false. From the user point of view, it would be nice to emit different warning messages for the above two cases. This can help to gradually introduce this check to a larger codebase and focus on the higher severity diagnostics first.

Thu, May 5, 1:37 PM · Restricted Project, Restricted Project, Restricted Project
ymandel updated the diff for D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..

add assert

Thu, May 5, 1:30 PM · Restricted Project, Restricted Project, Restricted Project
ymandel added inline comments to D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..
Thu, May 5, 1:15 PM · Restricted Project, Restricted Project, Restricted Project
ymandel added inline comments to D124965: [clang][dataflow] Centralize expression skipping logic.
Thu, May 5, 1:00 PM · Restricted Project, Restricted Project
ymandel added inline comments to D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..
Thu, May 5, 11:55 AM · Restricted Project, Restricted Project, Restricted Project
ymandel updated the diff for D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..

reorder examples

Thu, May 5, 11:52 AM · Restricted Project, Restricted Project, Restricted Project
ymandel accepted D124965: [clang][dataflow] Centralize expression skipping logic.

Thanks!

Thu, May 5, 11:09 AM · Restricted Project, Restricted Project
ymandel updated the diff for D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..

Factor out analysis code into separate function.

Thu, May 5, 10:12 AM · Restricted Project, Restricted Project, Restricted Project
ymandel added inline comments to D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..
Thu, May 5, 10:06 AM · Restricted Project, Restricted Project, Restricted Project
ymandel updated the diff for D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..

added fixme

Thu, May 5, 10:05 AM · Restricted Project, Restricted Project, Restricted Project
ymandel updated the diff for D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..

address review comments

Thu, May 5, 10:00 AM · Restricted Project, Restricted Project, Restricted Project
ymandel added a comment to D121120: [clang-tidy] New check for safe usage of `std::optional` and like types..

Most checks in Clang Tidy will run relatively quickly as they usually can do most/all of their work in a single traversal. I wonder whether flow sensitive checks will prove to be a bit slower. I think adding slower checks to Tidy is fine, but it would be nice to properly set the expectations to the user (e.g. if an IDE is running Tidy in the background it might want to opt out from flow sensitive checks if they turn out to be slow). In case the performance is good, I think it should be fine as is. Otherwise I wonder if we want to add something like a tag to mark flow sensitive checks and give an option to turn them off.

Thu, May 5, 8:48 AM · Restricted Project, Restricted Project, Restricted Project
ymandel published D121120: [clang-tidy] New check for safe usage of `std::optional` and like types. for review.
Thu, May 5, 7:19 AM · Restricted Project, Restricted Project, Restricted Project
ymandel added a comment to D124932: [clang][dataflow] Track `optional` contents in `optional` model..

Overall looks good to me. I am curious what will the strategy be to properly support construction. Do you plan to introduce a customization point to Env.createValue to give checks/models a way to set properties up? Or do you have something else in mind?

Thu, May 5, 6:18 AM · Restricted Project, Restricted Project
ymandel updated the diff for D124932: [clang][dataflow] Track `optional` contents in `optional` model..

Fixed the FIXME

Thu, May 5, 6:15 AM · Restricted Project, Restricted Project

Wed, May 4

ymandel committed rG9a8d33dbd8a8: [clang-tidy] Escape diagnostic messages before passing to `diag` in Transformer. (authored by ymandel).
[clang-tidy] Escape diagnostic messages before passing to `diag` in Transformer.
Wed, May 4, 1:57 PM · Restricted Project, Restricted Project
ymandel closed D124952: [clang-tidy] Escape diagnostic messages before passing to `diag` in Transformer..
Wed, May 4, 1:57 PM · Restricted Project, Restricted Project
ymandel added a comment to D124952: [clang-tidy] Escape diagnostic messages before passing to `diag` in Transformer..

Thanks!

Wed, May 4, 1:51 PM · Restricted Project, Restricted Project
ymandel updated the diff for D124952: [clang-tidy] Escape diagnostic messages before passing to `diag` in Transformer..

address reviewer comments.

Wed, May 4, 1:50 PM · Restricted Project, Restricted Project
ymandel requested review of D124952: [clang-tidy] Escape diagnostic messages before passing to `diag` in Transformer..
Wed, May 4, 11:49 AM · Restricted Project, Restricted Project
ymandel added a comment to D124943: [clang][dataflow] Add flowConditionIsTautology function.

The code looks good, but what is the intended application?

Wed, May 4, 10:27 AM · Restricted Project, Restricted Project
ymandel updated the diff for D124932: [clang][dataflow] Track `optional` contents in `optional` model..

remove stray newline

Wed, May 4, 8:57 AM · Restricted Project, Restricted Project
ymandel retitled D124932: [clang][dataflow] Track `optional` contents in `optional` model. from [clang][dataflow] Track `optional`s' values (i.e. contents) in `optional` model. to [clang][dataflow] Track `optional` contents in `optional` model..
Wed, May 4, 8:53 AM · Restricted Project, Restricted Project
ymandel requested review of D124932: [clang][dataflow] Track `optional` contents in `optional` model..
Wed, May 4, 8:52 AM · Restricted Project, Restricted Project

Tue, May 3

ymandel accepted D124807: [clang][dataflow] Only skip ExprWithCleanups when visiting terminators.

Nice!! As Gabor said, thank you for the detailed explanation (on top of the work to get this all done in a principled manner).

Tue, May 3, 7:33 PM · Restricted Project, Restricted Project
ymandel added reviewers for D124807: [clang][dataflow] Only skip ExprWithCleanups when visiting terminators: xazax.hun, sgatev.
Tue, May 3, 5:54 AM · Restricted Project, Restricted Project
ymandel added a comment to D124807: [clang][dataflow] Only skip ExprWithCleanups when visiting terminators.

Thanks for the patch!

Tue, May 3, 5:54 AM · Restricted Project, Restricted Project

Mon, May 2

ymandel updated the diff for D123032: [clang][dataflow] Exclude protobuf types from modeling in the environment..

added FIXME

Mon, May 2, 6:02 AM · Restricted Project, Restricted Project

Thu, Apr 28

ymandel added inline comments to D124540: [clang][dataflow] Perform structural comparison of indirection values in `join`..
Thu, Apr 28, 10:58 AM · Restricted Project, Restricted Project
ymandel committed rG6c81b5723716: [clang][dataflow] Perform structural comparison of indirection values in `join`. (authored by ymandel).
[clang][dataflow] Perform structural comparison of indirection values in `join`.
Thu, Apr 28, 10:57 AM · Restricted Project, Restricted Project
ymandel closed D124540: [clang][dataflow] Perform structural comparison of indirection values in `join`..
Thu, Apr 28, 10:57 AM · Restricted Project, Restricted Project

Apr 27 2022

ymandel requested review of D124540: [clang][dataflow] Perform structural comparison of indirection values in `join`..
Apr 27 2022, 10:35 AM · Restricted Project, Restricted Project

Apr 26 2022

ymandel accepted D124395: [clang][dataflow] Optimize flow condition representation.

Nice work. On the surface, this adds complexity to the system and so should be justified in terms of performance improvements. However, having read through the patch, I think it overall reduces the complexity, since both environment join and boolean-value join have been radically simplified. So, I'm fine with the patch as is, even without performance measurement. That said, I'm not against such measurement -- just saying it's not blocking. :)

Apr 26 2022, 7:20 AM · Restricted Project, Restricted Project

Apr 25 2022

ymandel committed rG37b4782e3e53: [clang][dataflow] Fix `Environment::join`'s handling of flow-condition merging. (authored by ymandel).
[clang][dataflow] Fix `Environment::join`'s handling of flow-condition merging.
Apr 25 2022, 8:07 AM · Restricted Project, Restricted Project
ymandel closed D124104: [clang][dataflow] Fix `Environment::join`'s handling of flow condition merging.
Apr 25 2022, 8:07 AM · Restricted Project, Restricted Project
ymandel added inline comments to D124104: [clang][dataflow] Fix `Environment::join`'s handling of flow condition merging.
Apr 25 2022, 8:06 AM · Restricted Project, Restricted Project
ymandel updated the diff for D124104: [clang][dataflow] Fix `Environment::join`'s handling of flow condition merging.

address comments

Apr 25 2022, 8:06 AM · Restricted Project, Restricted Project
ymandel added inline comments to D124104: [clang][dataflow] Fix `Environment::join`'s handling of flow condition merging.
Apr 25 2022, 7:57 AM · Restricted Project, Restricted Project
ymandel updated the diff for D124104: [clang][dataflow] Fix `Environment::join`'s handling of flow condition merging.

address comments

Apr 25 2022, 7:56 AM · Restricted Project, Restricted Project

Apr 20 2022

ymandel added a comment to D124104: [clang][dataflow] Fix `Environment::join`'s handling of flow condition merging.

Thanks!

Apr 20 2022, 3:12 PM · Restricted Project, Restricted Project
ymandel updated the diff for D124104: [clang][dataflow] Fix `Environment::join`'s handling of flow condition merging.

address review comments

Apr 20 2022, 3:11 PM · Restricted Project, Restricted Project
ymandel updated the summary of D124104: [clang][dataflow] Fix `Environment::join`'s handling of flow condition merging.
Apr 20 2022, 11:10 AM · Restricted Project, Restricted Project
ymandel retitled D124104: [clang][dataflow] Fix `Environment::join`'s handling of flow condition merging from [clang][dataflow] Fix join implementation to handle flow conditions correctly. to [clang][dataflow] Fix `Environment::join`'s handling of flow condition merging.
Apr 20 2022, 11:04 AM · Restricted Project, Restricted Project
ymandel committed rGc8f822ad5195: [clang][dataflow] Ensure well-formed flow conditions. (authored by ymandel).
[clang][dataflow] Ensure well-formed flow conditions.
Apr 20 2022, 10:02 AM · Restricted Project, Restricted Project
ymandel closed D123858: [clang][dataflow] Ensure well-formed flow conditions..
Apr 20 2022, 10:02 AM · Restricted Project, Restricted Project
ymandel updated the diff for D123858: [clang][dataflow] Ensure well-formed flow conditions..

address comments

Apr 20 2022, 9:55 AM · Restricted Project, Restricted Project
ymandel requested review of D124104: [clang][dataflow] Fix `Environment::join`'s handling of flow condition merging.
Apr 20 2022, 9:54 AM · Restricted Project, Restricted Project

Apr 19 2022

ymandel committed rGeb2131bdbad3: [clang][dataflow] Do not crash on missing `Value` for struct-typed variable… (authored by ymandel).
[clang][dataflow] Do not crash on missing `Value` for struct-typed variable…
Apr 19 2022, 1:53 PM · Restricted Project, Restricted Project
ymandel closed D123961: [clang][dataflow] Do not crash on missing `Value` for struct-typed variable init..
Apr 19 2022, 1:53 PM · Restricted Project, Restricted Project
ymandel updated the diff for D123961: [clang][dataflow] Do not crash on missing `Value` for struct-typed variable init..

extended comments.

Apr 19 2022, 1:37 PM · Restricted Project, Restricted Project
ymandel added a comment to D123858: [clang][dataflow] Ensure well-formed flow conditions..

Thanks for the review!

Apr 19 2022, 11:37 AM · Restricted Project, Restricted Project
ymandel updated the diff for D123858: [clang][dataflow] Ensure well-formed flow conditions..

added fixme

Apr 19 2022, 11:37 AM · Restricted Project, Restricted Project
ymandel updated the diff for D123858: [clang][dataflow] Ensure well-formed flow conditions..

add comments to tests.

Apr 19 2022, 11:32 AM · Restricted Project, Restricted Project
ymandel added inline comments to D123858: [clang][dataflow] Ensure well-formed flow conditions..
Apr 19 2022, 11:18 AM · Restricted Project, Restricted Project
ymandel updated the diff for D123858: [clang][dataflow] Ensure well-formed flow conditions..

address comments; move tests to proper locations

Apr 19 2022, 11:10 AM · Restricted Project, Restricted Project
ymandel added inline comments to D123961: [clang][dataflow] Do not crash on missing `Value` for struct-typed variable init..
Apr 19 2022, 6:21 AM · Restricted Project, Restricted Project

Apr 18 2022

ymandel requested review of D123961: [clang][dataflow] Do not crash on missing `Value` for struct-typed variable init..
Apr 18 2022, 2:40 PM · Restricted Project, Restricted Project

Apr 15 2022

ymandel requested review of D123858: [clang][dataflow] Ensure well-formed flow conditions..
Apr 15 2022, 8:10 AM · Restricted Project, Restricted Project