Page MenuHomePhabricator

manas (Manas Gupta)
User

Projects

User does not belong to any projects.

User Details

User Since
May 17 2021, 1:21 PM (65 w, 1 d)

Recent Activity

Mon, Jul 18

manas added inline comments to D112621: [analyzer][solver] Introduce reasoning for not equal to operator.
Mon, Jul 18, 6:52 PM · Restricted Project, Restricted Project
manas updated the diff for D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

Rebase and fix comments

Mon, Jul 18, 6:47 PM · Restricted Project, Restricted Project
manas added a comment to D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

Considering @ASDenysPetrov 's example of LHS = [1, 2] U [8, 9] and RHS = [5, 6], I constructed a test case as following:

Mon, Jul 18, 9:58 AM · Restricted Project, Restricted Project
manas updated the diff for D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

Remove filling gaps and convert, use castTo, and add tests for short-ushort,
char-uchar pairs

Mon, Jul 18, 9:43 AM · Restricted Project, Restricted Project

Jul 15 2022

manas added a comment to D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

The coverage showing unreachability of VisitBinaryOperator<BO_NE> for concrete integer cases.

Jul 15 2022, 1:35 AM · Restricted Project, Restricted Project
manas updated the diff for D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

Add concrete tests for same and different types

Jul 15 2022, 1:34 AM · Restricted Project, Restricted Project

Jul 11 2022

manas added a comment to D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

I was busy with other stuff. I will take a look at it now.

Jul 11 2022, 5:53 PM · Restricted Project, Restricted Project

Apr 10 2022

manas closed D106416: [analyzer] Fix build dependency issues for SATest.
Apr 10 2022, 2:09 PM · Restricted Project, Restricted Project

Apr 7 2022

manas updated the diff for D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

Format constant-folding.c

Apr 7 2022, 2:09 AM · Restricted Project, Restricted Project
manas updated the diff for D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

Fix comments and rebase

Apr 7 2022, 1:23 AM · Restricted Project, Restricted Project

Apr 6 2022

manas added inline comments to D112621: [analyzer][solver] Introduce reasoning for not equal to operator.
Apr 6 2022, 11:50 AM · Restricted Project, Restricted Project
manas added a comment to D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

@steakhal apologies for holding onto this for so long. I managed to fix previously untestable test cases. The issue was that I was building expressions as (u1 != u2) != 0 and the solver was canonicalizing this to an equivalent BO_EQ expression. That's why, it wasn't reaching VisitBinaryOperator<BO_NE>(). So I changed all tests as following: (u1 != u2) (removing the latter != 0 part. Also, I utilized the getConcreteValue() for checking of single APSInt in the RangeSets.

Apr 6 2022, 11:49 AM · Restricted Project, Restricted Project
manas updated the diff for D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

Fix test cases to make them reachable via VisiBinaryOperator<BO_NE> and using getConcreteValue()

Apr 6 2022, 11:45 AM · Restricted Project, Restricted Project

Mar 2 2022

Herald added a project to D120646: [clang][scan-build] Change mode of installation for scan-build.1: Restricted Project.

Buildbots are happy. I think we can land this. @steakhal do you mind landing it?

Mar 2 2022, 4:04 AM · Restricted Project, Restricted Project

Mar 1 2022

manas added a comment to D120646: [clang][scan-build] Change mode of installation for scan-build.1.

I rebased to see if it satisfies the buildbot.

Mar 1 2022, 7:58 AM · Restricted Project, Restricted Project
manas updated the diff for D120646: [clang][scan-build] Change mode of installation for scan-build.1.

Rebase

Mar 1 2022, 7:57 AM · Restricted Project, Restricted Project

Feb 28 2022

manas added a comment to D120646: [clang][scan-build] Change mode of installation for scan-build.1.

This patch fixes #53967.

Feb 28 2022, 12:15 AM · Restricted Project, Restricted Project
manas added a reviewer for D120646: [clang][scan-build] Change mode of installation for scan-build.1: steakhal.
Feb 28 2022, 12:14 AM · Restricted Project, Restricted Project
manas requested review of D120646: [clang][scan-build] Change mode of installation for scan-build.1.
Feb 28 2022, 12:13 AM · Restricted Project, Restricted Project

Nov 29 2021

manas abandoned D114758: [analyzer][solver] Introduce reasoning for not equal to operator.
Nov 29 2021, 5:22 PM · Restricted Project
manas added a comment to D114758: [analyzer][solver] Introduce reasoning for not equal to operator.

Closing this as this is mistakenly a duplicate of existing differential D112621.

Nov 29 2021, 5:18 PM · Restricted Project
manas added a comment to D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

I have made few changes:

Nov 29 2021, 5:17 PM · Restricted Project, Restricted Project
manas updated the diff for D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

Fix comparison between different types and add a test to check it

Nov 29 2021, 5:11 PM · Restricted Project, Restricted Project
manas requested review of D114758: [analyzer][solver] Introduce reasoning for not equal to operator.
Nov 29 2021, 5:04 PM · Restricted Project

Oct 27 2021

manas added a comment to D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

It seems like the test does not exercise the modified code segment.
Please investigate, and make sure that the code you submit is actually exercised by the test you provide.

Oct 27 2021, 8:40 AM · Restricted Project, Restricted Project
manas added a comment to D112621: [analyzer][solver] Introduce reasoning for not equal to operator.

@steakhal @martong This patch solves the comparison between different types by bypassing the RangeSets first to VisitBinaryOperator which coarses/converts, and then only it checks for any True/False ranges via comparison. This is similar to what happens with BO_Rem, BO_And etc. as well.

Oct 27 2021, 6:40 AM · Restricted Project, Restricted Project
manas added reviewers for D112621: [analyzer][solver] Introduce reasoning for not equal to operator: steakhal, martong, ASDenysPetrov, vsavchenko, NoQ.
Oct 27 2021, 6:37 AM · Restricted Project, Restricted Project
manas requested review of D112621: [analyzer][solver] Introduce reasoning for not equal to operator.
Oct 27 2021, 6:36 AM · Restricted Project, Restricted Project

Oct 23 2021

manas added a comment to D105447: [analyzer] Allow cmake options to be passed to satest container.

Gentle ping! I think landing it will make collecting analyzer information easier (in terms of faster build) as more (appropriate) cmake options can be passed via cmdline.

Oct 23 2021, 3:53 PM · Restricted Project
manas added reviewers for D105447: [analyzer] Allow cmake options to be passed to satest container: martong, steakhal.
Oct 23 2021, 3:51 PM · Restricted Project
manas added a comment to D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

Based on the information from debugger, the logs show RangeSets [0, 255] and [INT_MIN, 0] from different types are causing the failure.
I tried producing a compact test case. The essential part is the comparison between different types, as in this case unsigned int and int. In other binary operators (BO_And, BO_Rem, etc.), this gets handled by coarsing RangeSets to Ranges and converting those Ranges to resulting type for comparison. This is missing in BO_NE. I suppose, this may be the reason behind the signedness mismatch.

Oct 23 2021, 3:33 PM · Restricted Project

Oct 22 2021

manas added a comment to D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

I have received a failed build on clang-ppc64be-linux (https://lab.llvm.org/buildbot/#/builders/52/builds/11704). Although, I haven't verified the commit. Is there something wrong with this commit? Is the function VisitBinaryOperator<BO_NE> reachable?

Oct 22 2021, 4:11 AM · Restricted Project

Oct 1 2021

manas added a comment to D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

I'll take a look at this over the weekend.

Oct 1 2021, 4:04 PM · Restricted Project
manas added a comment to D107312: [analyzer] Fix deprecated plistlib functions.

I'm not using this script. I'm assuming you run it and verified that it works.
Thanks for cleaning this up.

Oct 1 2021, 7:38 AM · Restricted Project
manas added a comment to D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

I do not have landing rights.

Please add your name and email on whom behalf I should commit this patch. Mine is Balazs Benics<balazs.benics@sigmatechnology.se>

Oct 1 2021, 7:36 AM · Restricted Project
manas added a comment to D107312: [analyzer] Fix deprecated plistlib functions.

Gentle ping.

Oct 1 2021, 5:47 AM · Restricted Project
manas added reviewers for D107312: [analyzer] Fix deprecated plistlib functions: steakhal, Szelethus, martong, ASDenysPetrov.
Oct 1 2021, 5:47 AM · Restricted Project
manas added a comment to D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

Good work. Land it.

Oct 1 2021, 5:35 AM · Restricted Project

Sep 30 2021

manas updated the diff for D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

Fix typo

Sep 30 2021, 2:12 PM · Restricted Project
manas added a comment to D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

Okay, I don't see any problems besides this typo.

Oops!

Sep 30 2021, 11:08 AM · Restricted Project

Sep 29 2021

manas updated the diff for D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

Apply mentioned edits in testcases

Sep 29 2021, 2:21 PM · Restricted Project
manas added a comment to D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

The pre-merge checks fail due to the patch being unable to get applied. The troubleshooting suggest to update the patch via arc diff `git merge-base HEAD origin` --update D106102 and it would include all local changes into that patch. Shouldn't I avoid including all local changes, as some local changes are still WIP?

I guess HEAD should refer to the commit that represents this patch, in this case that is ce82443c69be. And I believe you local changes that are not committed should not affect arc diff at all. But, as a precaution, you could first stash your local changes before calling arc. Hope this helps.

Sep 29 2021, 2:21 PM · Restricted Project

Sep 28 2021

manas added a comment to D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

The pre-merge checks fail due to the patch being unable to get applied. The troubleshooting suggest to update the patch via arc diff `git merge-base HEAD origin` --update D106102 and it would include all local changes into that patch. Shouldn't I avoid including all local changes, as some local changes are still WIP?

Sep 28 2021, 1:58 PM · Restricted Project
manas updated the diff for D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

Rebase

Sep 28 2021, 1:45 PM · Restricted Project
manas updated the diff for D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

Move method to a specialized template for VisitBinaryOperator

Sep 28 2021, 1:26 PM · Restricted Project

Sep 25 2021

manas added a comment to D106416: [analyzer] Fix build dependency issues for SATest.

@vsavchenko should we land this?

Sep 25 2021, 1:04 AM · Restricted Project, Restricted Project
manas updated the diff for D106416: [analyzer] Fix build dependency issues for SATest.

Upgrade cmake to 3.21.3

Sep 25 2021, 1:04 AM · Restricted Project, Restricted Project

Sep 24 2021

manas updated the diff for D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

Rebase

Sep 24 2021, 12:55 AM · Restricted Project
manas added a comment to D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

I haven't tried specializing that VisitBinaryOperator method which converts Ranges from RangeSets (as @vsavchenko mentioned). Should this case for NE stay here in the switch or move?

Sep 24 2021, 12:48 AM · Restricted Project

Aug 3 2021

manas added a comment to D105273: [analyzer] Introduce range-based reasoning for subtraction operator.
Aug 3 2021, 7:54 AM · Restricted Project
manas added a comment to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

I have updated the proof for Add: https://gist.github.com/weirdsmiley/ad6a9dbf3370e96d29f9e90068931d25

Aug 3 2021, 7:53 AM · Restricted Project
manas updated the diff for D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

Fix unrelated commits mess up!

Aug 3 2021, 7:49 AM · Restricted Project
manas added inline comments to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.
Aug 3 2021, 7:42 AM · Restricted Project
manas updated the diff for D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

Fix test comments

Aug 3 2021, 7:39 AM · Restricted Project

Aug 2 2021

manas added a reviewer for D107312: [analyzer] Fix deprecated plistlib functions: vsavchenko.
Aug 2 2021, 2:35 PM · Restricted Project
manas requested review of D107312: [analyzer] Fix deprecated plistlib functions.
Aug 2 2021, 2:34 PM · Restricted Project
manas added a comment to D106416: [analyzer] Fix build dependency issues for SATest.

Fixing another broken dependency packages error.

Aug 2 2021, 2:16 PM · Restricted Project, Restricted Project
manas updated the diff for D106416: [analyzer] Fix build dependency issues for SATest.

upgrade cmake-3.21.0 to cmake-3.21.1

Aug 2 2021, 2:15 PM · Restricted Project, Restricted Project

Jul 20 2021

manas added reviewers for D106416: [analyzer] Fix build dependency issues for SATest: vsavchenko, NoQ, xazax.hun.
Jul 20 2021, 7:32 PM · Restricted Project, Restricted Project
manas requested review of D106416: [analyzer] Fix build dependency issues for SATest.
Jul 20 2021, 7:31 PM · Restricted Project, Restricted Project
manas added a comment to D105273: [analyzer] Introduce range-based reasoning for subtraction operator.

Here is the proof using Z3: https://gist.github.com/weirdsmiley/8a35a0e1f55f310e3566cbd47555491a

Jul 20 2021, 3:19 PM · Restricted Project
manas added a comment to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

Here is the proof of correctness of the algorithm using Z3: https://gist.github.com/weirdsmiley/ad6a9dbf3370e96d29f9e90068931d25

Jul 20 2021, 3:18 PM · Restricted Project

Jul 16 2021

manas added inline comments to D106102: [analyzer][solver] Introduce reasoning for not equal to operator.
Jul 16 2021, 2:04 PM · Restricted Project

Jul 15 2021

manas added reviewers for D106102: [analyzer][solver] Introduce reasoning for not equal to operator: vsavchenko, NoQ, xazax.hun.
Jul 15 2021, 2:30 PM · Restricted Project
manas requested review of D106102: [analyzer][solver] Introduce reasoning for not equal to operator.
Jul 15 2021, 2:29 PM · Restricted Project

Jul 6 2021

manas updated the diff for D105447: [analyzer] Allow cmake options to be passed to satest container.

Pass commands through settings instead of rest

Jul 6 2021, 2:32 PM · Restricted Project
manas added inline comments to D105447: [analyzer] Allow cmake options to be passed to satest container.
Jul 6 2021, 4:17 AM · Restricted Project

Jul 5 2021

manas updated the diff for D105447: [analyzer] Allow cmake options to be passed to satest container.

Edit summary

Jul 5 2021, 4:11 PM · Restricted Project
manas added a comment to D105447: [analyzer] Allow cmake options to be passed to satest container.

Restore global cmake command

Jul 5 2021, 4:10 PM · Restricted Project
manas updated the diff for D105447: [analyzer] Allow cmake options to be passed to satest container.

Restore global cmake command

Jul 5 2021, 4:08 PM · Restricted Project
manas added reviewers for D105447: [analyzer] Allow cmake options to be passed to satest container: vsavchenko, NoQ, xazax.hun.
Jul 5 2021, 3:38 PM · Restricted Project
manas requested review of D105447: [analyzer] Allow cmake options to be passed to satest container.
Jul 5 2021, 3:37 PM · Restricted Project

Jul 2 2021

manas updated the diff for D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

Rebase

Jul 2 2021, 1:02 PM · Restricted Project
manas updated the diff for D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

Replace literal-value 0 with APSInt Zero

Jul 2 2021, 12:43 PM · Restricted Project
manas updated the diff for D105273: [analyzer] Introduce range-based reasoning for subtraction operator.

Remove redundant getAPSIntType calls

Jul 2 2021, 12:38 PM · Restricted Project
manas updated the diff for D105273: [analyzer] Introduce range-based reasoning for subtraction operator.

Replace literal-value 0 with APSInt Zero

Jul 2 2021, 12:22 PM · Restricted Project
manas added inline comments to D105273: [analyzer] Introduce range-based reasoning for subtraction operator.
Jul 2 2021, 11:49 AM · Restricted Project
manas updated the diff for D105273: [analyzer] Introduce range-based reasoning for subtraction operator.

Merge conditionals with similar block and add test for one overflow on Tmax-side

Jul 2 2021, 11:47 AM · Restricted Project
manas added a comment to D105273: [analyzer] Introduce range-based reasoning for subtraction operator.

Thanks Valeriy.

Jul 2 2021, 11:45 AM · Restricted Project

Jul 1 2021

manas added reviewers for D105273: [analyzer] Introduce range-based reasoning for subtraction operator: vsavchenko, NoQ, xazax.hun.
Jul 1 2021, 4:16 AM · Restricted Project
manas requested review of D105273: [analyzer] Introduce range-based reasoning for subtraction operator.
Jul 1 2021, 4:15 AM · Restricted Project
manas updated the diff for D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

Reformat comments

Jul 1 2021, 3:57 AM · Restricted Project

Jun 25 2021

manas added inline comments to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.
Jun 25 2021, 12:00 AM · Restricted Project

Jun 24 2021

manas updated the diff for D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

Add tests for overflows on both ends

Jun 24 2021, 11:58 PM · Restricted Project
manas updated the diff for D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

Fix issues involving usage of uadd_ov and family of functions

Jun 24 2021, 7:54 PM · Restricted Project
manas added inline comments to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.
Jun 24 2021, 3:09 AM · Restricted Project
manas added inline comments to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.
Jun 24 2021, 2:26 AM · Restricted Project
manas added inline comments to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.
Jun 24 2021, 1:52 AM · Restricted Project
manas updated the diff for D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

Rebase

Jun 24 2021, 1:41 AM · Restricted Project

Jun 23 2021

manas added inline comments to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.
Jun 23 2021, 10:34 PM · Restricted Project
manas updated the diff for D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

Fix issues involving cases for unsigned type and add tests

Jun 23 2021, 10:25 PM · Restricted Project
manas added a comment to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

I am working on debugging those 3 cases.

Jun 23 2021, 1:53 AM · Restricted Project

Jun 22 2021

manas added a comment to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

Regarding the tweakings in constant-folding.c, I have refrained from using cases which were resulting in UNKNOWN assertions as they were the primary reason for constraints being propagated.

Jun 22 2021, 5:05 PM · Restricted Project
manas updated the diff for D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

Added updated logic for reasoning using number of overflows. Also, changed a couple of tests which were leading to unwanted constriants being propagated further.

Jun 22 2021, 4:57 PM · Restricted Project

Jun 21 2021

manas added inline comments to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.
Jun 21 2021, 11:17 PM · Restricted Project
manas added inline comments to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.
Jun 21 2021, 9:17 PM · Restricted Project
manas added inline comments to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.
Jun 21 2021, 6:51 PM · Restricted Project
manas added inline comments to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.
Jun 21 2021, 6:41 PM · Restricted Project
manas added inline comments to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.
Jun 21 2021, 1:57 AM · Restricted Project

Jun 18 2021

manas added a comment to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

The diff fixes all invalid assertion issues and also reasons about the cases where Min > Max.

Jun 18 2021, 11:33 PM · Restricted Project