Page MenuHomePhabricator

Charusso (Csaba Dabis)
Research

Projects

User does not belong to any projects.

User Details

User Since
Dec 25 2017, 5:51 AM (81 w, 3 d)

Recent Activity

Yesterday

Charusso committed rG68983321cc96: [analyzer] MallocChecker: Prevent Integer Set Library false positives (authored by Charusso).
[analyzer] MallocChecker: Prevent Integer Set Library false positives
Wed, Jul 17, 5:05 PM
Charusso committed rL366391: [analyzer] MallocChecker: Prevent Integer Set Library false positives.
[analyzer] MallocChecker: Prevent Integer Set Library false positives
Wed, Jul 17, 5:05 PM
Charusso closed D64680: [analyzer] MallocChecker: Prevent Integer Set Library false positives.
Wed, Jul 17, 5:05 PM · Restricted Project, Restricted Project
Charusso added a comment to D64680: [analyzer] MallocChecker: Prevent Integer Set Library false positives.
In D64680#1590619, @NoQ wrote:

Great, thanks!

Wed, Jul 17, 5:02 PM · Restricted Project, Restricted Project
Charusso added inline comments to D64680: [analyzer] MallocChecker: Prevent Integer Set Library false positives.
Wed, Jul 17, 4:42 PM · Restricted Project, Restricted Project
Charusso updated the diff for D64680: [analyzer] MallocChecker: Prevent Integer Set Library false positives.
  • More fix.
Wed, Jul 17, 4:42 PM · Restricted Project, Restricted Project
Charusso added inline comments to D64680: [analyzer] MallocChecker: Prevent Integer Set Library false positives.
Wed, Jul 17, 9:23 AM · Restricted Project, Restricted Project
Charusso updated the diff for D64680: [analyzer] MallocChecker: Prevent Integer Set Library false positives.
  • Fix.
Wed, Jul 17, 9:23 AM · Restricted Project, Restricted Project

Mon, Jul 15

Charusso added a comment to D64680: [analyzer] MallocChecker: Prevent Integer Set Library false positives.
In D64680#1584315, @NoQ wrote:

P.S. I think you should attach the report to Phabricator directly, as the link will expire as soon as these reports get regenerated.

Mon, Jul 15, 7:06 AM · Restricted Project, Restricted Project
Charusso updated the diff for D64680: [analyzer] MallocChecker: Prevent Integer Set Library false positives.
  • Remove unnecessary DoNothing kind.
Mon, Jul 15, 7:05 AM · Restricted Project, Restricted Project

Fri, Jul 12

Charusso added a comment to D64680: [analyzer] MallocChecker: Prevent Integer Set Library false positives.

Here is an example of the mentioned use-after-free by pointer-escaping as an argument:
https://llvm.org/reports/scan-build/report-DeclBase.cpp-getFromVoidPointer-0-1.html#EndPath

Fri, Jul 12, 5:37 PM · Restricted Project, Restricted Project
Charusso added a comment to D64680: [analyzer] MallocChecker: Prevent Integer Set Library false positives.
In D64680#1584076, @NoQ wrote:

Change of plans: let's suppress the warning when our free() is done within the function that has __isl_take in its definition. So, like, ascend the chain of location contexts and check your callers when you're about to mark the pointer as released. If any of the callers contain __isl_take, mark it as escaped instead.

Fri, Jul 12, 5:33 PM · Restricted Project, Restricted Project
Charusso updated the diff for D64680: [analyzer] MallocChecker: Prevent Integer Set Library false positives.
  • Fix.
  • Move the logic to free() for better matching.
Fri, Jul 12, 5:33 PM · Restricted Project, Restricted Project
Charusso created D64680: [analyzer] MallocChecker: Prevent Integer Set Library false positives.
Fri, Jul 12, 4:48 PM · Restricted Project, Restricted Project

Thu, Jul 11

Charusso accepted D64274: [analyzer] VirtualCallChecker overhaul..

The impure-warning sounds like some alpha, not-well-defined warning, other than that I like the movement to rethink existing checkers.

Thu, Jul 11, 8:43 PM · Restricted Project
Charusso accepted D64611: [analyzer] exploded-graph-rewriter: Improve source location dumps..

Much better! Thanks!

Thu, Jul 11, 6:20 PM · Restricted Project

Tue, Jul 9

Charusso committed rGe856c0465d11: [analyzer] CastValueChecker: Remove a dump() (authored by Charusso).
[analyzer] CastValueChecker: Remove a dump()
Tue, Jul 9, 5:53 PM
Charusso committed rL365590: [analyzer] CastValueChecker: Remove a dump().
[analyzer] CastValueChecker: Remove a dump()
Tue, Jul 9, 5:50 PM
Charusso committed rG693936ab8fe8: [analyzer] CastValueChecker: Model casts (authored by Charusso).
[analyzer] CastValueChecker: Model casts
Tue, Jul 9, 5:21 PM
Charusso committed rL365585: [analyzer] CastValueChecker: Model casts.
[analyzer] CastValueChecker: Model casts
Tue, Jul 9, 5:19 PM
Charusso updated the diff for D64374: [analyzer] CastValueChecker: Model casts.
  • Add the llvm namespace to the test file.
Tue, Jul 9, 5:16 PM · Restricted Project, Restricted Project
Charusso committed rG6a29680efb0b: Revert "[analyzer] CastValueChecker: Model casts" (authored by Charusso).
Revert "[analyzer] CastValueChecker: Model casts"
Tue, Jul 9, 4:50 PM
Charusso added a reverting change for rG27cf6664437e: [analyzer] CastValueChecker: Model casts: rG6a29680efb0b: Revert "[analyzer] CastValueChecker: Model casts".
Tue, Jul 9, 4:50 PM
Charusso committed rL365584: Revert "[analyzer] CastValueChecker: Model casts".
Revert "[analyzer] CastValueChecker: Model casts"
Tue, Jul 9, 4:49 PM
Charusso committed rG27cf6664437e: [analyzer] CastValueChecker: Model casts (authored by Charusso).
[analyzer] CastValueChecker: Model casts
Tue, Jul 9, 4:36 PM
Charusso committed rL365582: [analyzer] CastValueChecker: Model casts.
[analyzer] CastValueChecker: Model casts
Tue, Jul 9, 4:34 PM
Charusso closed D64374: [analyzer] CastValueChecker: Model casts.
Tue, Jul 9, 4:34 PM · Restricted Project, Restricted Project
Charusso added a comment to D64374: [analyzer] CastValueChecker: Model casts.

Thanks for the review!

Tue, Jul 9, 4:27 PM · Restricted Project, Restricted Project
Charusso added a comment to D64374: [analyzer] CastValueChecker: Model casts.
In D64374#1577266, @NoQ wrote:

Can you provide more info, eg. the full backtrace?

Tue, Jul 9, 3:55 PM · Restricted Project, Restricted Project
Charusso updated the diff for D64374: [analyzer] CastValueChecker: Model casts.
  • Add the forgotten llvm namespace to the CallDescription.
Tue, Jul 9, 3:42 PM · Restricted Project, Restricted Project
Charusso added a comment to D64374: [analyzer] CastValueChecker: Model casts.
In D64374#1577235, @NoQ wrote:

Whoops. I underestimated you (:

Ok, anyway, this was my last comment. Great job! Remember to make sure that it works on the actual LLVM, not only on tests; mocked-up test headers are very easy to get wrong.

Tue, Jul 9, 3:40 PM · Restricted Project, Restricted Project
Charusso added inline comments to D64374: [analyzer] CastValueChecker: Model casts.
Tue, Jul 9, 3:19 PM · Restricted Project, Restricted Project
Charusso updated the diff for D64374: [analyzer] CastValueChecker: Model casts.
  • Move to apiModeling.llvm.
  • Prevent unknown casts.
  • Refactor.
Tue, Jul 9, 3:12 PM · Restricted Project, Restricted Project

Mon, Jul 8

Charusso updated the diff for D64374: [analyzer] CastValueChecker: Model casts.
  • Simplify the new getNoteTag().
Mon, Jul 8, 8:50 PM · Restricted Project, Restricted Project
Charusso added inline comments to D64374: [analyzer] CastValueChecker: Model casts.
Mon, Jul 8, 8:37 PM · Restricted Project, Restricted Project
Charusso updated the diff for D64374: [analyzer] CastValueChecker: Model casts.
  • Fix.
  • More tests.
Mon, Jul 8, 8:37 PM · Restricted Project, Restricted Project
Charusso updated the diff for D64374: [analyzer] CastValueChecker: Model casts.
  • Fix a typo.
Mon, Jul 8, 7:22 PM · Restricted Project, Restricted Project
Charusso added a comment to D64374: [analyzer] CastValueChecker: Model casts.

Thanks! My mind was really set to actually model these with classof(), whoops.

Mon, Jul 8, 7:16 PM · Restricted Project, Restricted Project
Charusso updated the diff for D64374: [analyzer] CastValueChecker: Model casts.
  • Fix
  • New getNoteTag() which accepts a plain note.
Mon, Jul 8, 7:15 PM · Restricted Project, Restricted Project
Charusso added inline comments to D64374: [analyzer] CastValueChecker: Model casts.
Mon, Jul 8, 3:45 PM · Restricted Project, Restricted Project
Charusso created D64374: [analyzer] CastValueChecker: Model casts.
Mon, Jul 8, 3:39 PM · Restricted Project, Restricted Project

Sat, Jul 6

Charusso accepted D64270: [analyzer][NFC] Prepare visitors for different tracking kinds.

Document!!4!44! It is great you have started to limit the notes, thanks!

Sat, Jul 6, 2:21 AM · Restricted Project

Fri, Jul 5

Charusso accepted D64264: [analyzer] exploded-graph-rewriter: Implement a topology-only mode..

May you would remove the "Program points:" part as we only have that, but I think we have enough space for that tiny note. Thanks!

Fri, Jul 5, 1:57 PM · Restricted Project, Restricted Project
Charusso accepted D64263: [analyzer] exploded-graph-rewriter: Implement a single-path mode..

Smart move! The left-most usually the shortest path, but what if not? I would calculate the length, other than that, cool. Thanks!

Fri, Jul 5, 1:50 PM · Restricted Project, Restricted Project

Wed, Jul 3

Charusso committed rG57835bcfbd86: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of… (authored by Charusso).
[analyzer] ReturnValueChecker: Model the guaranteed boolean return value of…
Wed, Jul 3, 5:54 PM
Charusso committed rL365103: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of….
[analyzer] ReturnValueChecker: Model the guaranteed boolean return value of…
Wed, Jul 3, 5:53 PM
Charusso closed D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
Wed, Jul 3, 5:53 PM · Restricted Project, Restricted Project
Charusso added a comment to D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.

Thanks for the reviews!

This checker isn't in alpha -- did you evaluate it on LLVM? Other than that, looks great!

Yes, it is made for LLVM and tested out 4 times. Thanks!

Wed, Jul 3, 5:40 PM · Restricted Project, Restricted Project
Charusso updated the diff for D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
  • Done.
Wed, Jul 3, 5:40 PM · Restricted Project, Restricted Project
Charusso accepted D64153: [analyzer] exploded-graph-rewriter: Add a grayscale mode..

Well, it is always awesome to think about the others. Thanks!

Wed, Jul 3, 12:56 PM · Restricted Project, Restricted Project
Charusso added a comment to D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.

Thanks for the reviews! The remaining question is: do we want to use Optional<> in the CallDescriptionMap::lookup()?

Wed, Jul 3, 12:32 PM · Restricted Project, Restricted Project
Charusso updated the diff for D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
  • More fix.
Wed, Jul 3, 12:29 PM · Restricted Project, Restricted Project
Charusso added inline comments to D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
Wed, Jul 3, 11:46 AM · Restricted Project, Restricted Project
Charusso updated the diff for D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
  • Fix.
  • Document NoteTag.
Wed, Jul 3, 11:30 AM · Restricted Project, Restricted Project
Charusso added a comment to D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.

This checker seems to only check LLVM functions, but doesn't check whether these methods lie in the LLVM namespace. Is this intended?

Thanks for the reviews! They are not in the llvm namespace.

Wed, Jul 3, 11:30 AM · Restricted Project, Restricted Project

Tue, Jul 2

Charusso added inline comments to D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
Tue, Jul 2, 8:23 PM · Restricted Project, Restricted Project
Charusso added inline comments to D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
Tue, Jul 2, 8:22 PM · Restricted Project, Restricted Project
Charusso updated the diff for D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
  • Fix.
  • Refactor.
Tue, Jul 2, 8:22 PM · Restricted Project, Restricted Project
Charusso added a comment to D64100: [analyzer] exploded-graph-rewriter: Implement checker messages..
In D64100#1567706, @NoQ wrote:

Nice! Could you add some #===---===# separators, please? As it is in the finishing state, I think now it is appropriate.

rC364991.

Tue, Jul 2, 6:33 PM · Restricted Project, Restricted Project
Charusso added inline comments to D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
Tue, Jul 2, 5:34 PM · Restricted Project, Restricted Project
Charusso updated the diff for D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
  • Create FunctionExitPoint diagnostics.
  • Fix.
Tue, Jul 2, 5:33 PM · Restricted Project, Restricted Project
Charusso added a comment to D64110: [analyzer] exploded-graph-rewriter: Implement bug nodes and sink nodes..
In D64110#1567505, @NoQ wrote:

A non-sink node may have no successors because it ran out of statements to execute (i.e., the analysis finishes successfully).

Ah, of course, sorry.

Tue, Jul 2, 4:36 PM · Restricted Project, Restricted Project
Charusso accepted D64110: [analyzer] exploded-graph-rewriter: Implement bug nodes and sink nodes..

I have removed that is_sink business because we have an actual graph, not just a huge painting, so you could mark whether it is sink by it has zero successors. I like the idea about refactoring that crazy code, thanks!

Tue, Jul 2, 4:15 PM · Restricted Project, Restricted Project
Charusso added a comment to D64104: [analyzer] exploded-graph-rewriter: Collapse large statement pretty-prints..
In D64104#1567326, @NoQ wrote:

I like it! What about BlockEdge with the long terminators? (c.f. Edge.getSrc()->printTerminatorJson())

We don't process these yet >.< But it should be trivial to cover them in a similar manner once we implement them.

Tue, Jul 2, 2:59 PM · Restricted Project, Restricted Project
Charusso accepted D64104: [analyzer] exploded-graph-rewriter: Collapse large statement pretty-prints..

I like it! What about BlockEdge with the long terminators? (c.f. Edge.getSrc()->printTerminatorJson())

Tue, Jul 2, 2:53 PM · Restricted Project, Restricted Project
Charusso accepted D64100: [analyzer] exploded-graph-rewriter: Implement checker messages..

Nice! Could you add some #===---===# separators, please? As it is in the finishing state, I think now it is appropriate.

Tue, Jul 2, 2:22 PM · Restricted Project, Restricted Project

Mon, Jul 1

Charusso accepted D64056: [analyzer] exploded-graph-rewriter: Implement a dark color scheme..

I really like that, thanks you! When you spend tons of time it is good for your eyes and that dark theme is very cool in 2019.

Mon, Jul 1, 7:00 PM · Restricted Project, Restricted Project
Charusso added inline comments to D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
Mon, Jul 1, 6:37 PM · Restricted Project, Restricted Project
Charusso updated the diff for D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
  • I do not like Optional<const T *> anymore.
  • More simple notes.
Mon, Jul 1, 6:37 PM · Restricted Project, Restricted Project
Charusso added a comment to D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
In D63915#1563049, @NoQ wrote:

Aha, nice, thanks for adding a description, it is a very good thing to do. Like, every commit should be obvious.

In some of my patches I have not added a description because they are so tiny changes.

Mon, Jul 1, 6:21 PM · Restricted Project, Restricted Project
Charusso updated the diff for D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
  • Fix.
Mon, Jul 1, 6:21 PM · Restricted Project, Restricted Project
Charusso accepted D64047: [analyzer] exploded-graph-rewriter: Add support for objects under construction..

Thanks for testing it!

Mon, Jul 1, 6:13 PM · Restricted Project, Restricted Project
Charusso accepted D64051: [analyzer] exploded-graph-rewriter: Improve program point dumps..

Are you alright with the namings? Those are randomly came out from my head and may you know some better one.

Mon, Jul 1, 6:00 PM · Restricted Project, Restricted Project
Charusso accepted D64047: [analyzer] exploded-graph-rewriter: Add support for objects under construction..

SSS!

Mon, Jul 1, 4:51 PM · Restricted Project, Restricted Project
Charusso accepted D64041: [analyzer] exploded-graph-rewriter: Add support for dynamic types..

Nice, the end of that huge work is getting closer. Thanks!

Mon, Jul 1, 3:24 PM · Restricted Project, Restricted Project
Charusso retitled D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls from [analyzer][WIP] ReturnValueChecker: Model the guaranteed boolean return value of function calls to [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
Mon, Jul 1, 10:21 AM · Restricted Project, Restricted Project
Charusso added a parent revision for D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls: D62556: [analyzer] NFC: CallDescription: Implement describing C library functions..
Mon, Jul 1, 10:19 AM · Restricted Project, Restricted Project
Charusso added a child revision for D62556: [analyzer] NFC: CallDescription: Implement describing C library functions.: D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
Mon, Jul 1, 10:19 AM · Restricted Project, Restricted Project
Charusso added inline comments to D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
Mon, Jul 1, 10:19 AM · Restricted Project, Restricted Project
Charusso updated the diff for D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
  • Revert the Calls option. It turned out too difficult to create. (May it useless, as we have tons of similar checkers without any option.)
Mon, Jul 1, 10:19 AM · Restricted Project, Restricted Project
Charusso accepted D62556: [analyzer] NFC: CallDescription: Implement describing C library functions..

I have not seen any problem. Thanks!

Mon, Jul 1, 10:18 AM · Restricted Project, Restricted Project

Fri, Jun 28

Charusso accepted D63968: [analyzer] Fix target region invalidation when returning into a ctor initializer..

You have made a great use of that mistake by me. So that is why everything is so perfect, because it fires, just it should fire later. Thanks you!

Fri, Jun 28, 6:23 PM · Restricted Project, Restricted Project
Charusso accepted D62441: [analyzer] NFC: Introduce a convenient CallDescriptionMap class..

Great patch, thanks you! I wanted to make my own IdentifierInfo array previously.

Fri, Jun 28, 5:02 PM · Restricted Project, Restricted Project
Charusso accepted D63965: [analyzer] exploded-graph-rewriter: Add support for program point tags..

Good idea! Thanks!

Fri, Jun 28, 4:35 PM · Restricted Project, Restricted Project
Charusso updated the diff for D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
  • Fix the note as the class name is optional.
Fri, Jun 28, 1:26 PM · Restricted Project, Restricted Project
Charusso updated the diff for D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
  • Make it match the class name. (Whoops!)
  • Reorder the tuple (swap the return value with the call name).
  • Remove the Projects option.
  • Remove unnecessary input validation.
Fri, Jun 28, 1:23 PM · Restricted Project, Restricted Project

Thu, Jun 27

Charusso planned changes to D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.

Heavily WIP, see inline.

Thu, Jun 27, 6:50 PM · Restricted Project, Restricted Project
Charusso created D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls.
Thu, Jun 27, 6:47 PM · Restricted Project, Restricted Project

Mon, Jun 24

Charusso committed rG0cdd13c05a16: [analyzer] print() JSONify: Create pointers (authored by Charusso).
[analyzer] print() JSONify: Create pointers
Mon, Jun 24, 8:19 PM
Charusso committed rL364271: [analyzer] print() JSONify: Create pointers.
[analyzer] print() JSONify: Create pointers
Mon, Jun 24, 8:19 PM
Charusso closed D63726: [analyzer] print() JSONify: Create pointers.
Mon, Jun 24, 8:18 PM · Restricted Project, Restricted Project
Charusso committed rGc55170c03109: [analyzer] JsonSupport: Escape escapes (authored by Charusso).
[analyzer] JsonSupport: Escape escapes
Mon, Jun 24, 8:10 PM
Charusso committed rL364270: [analyzer] JsonSupport: Escape escapes.
[analyzer] JsonSupport: Escape escapes
Mon, Jun 24, 8:10 PM
Charusso closed D63462: [analyzer] JsonSupport: Escape escapes.
Mon, Jun 24, 8:09 PM · Restricted Project, Restricted Project
Charusso updated the diff for D63462: [analyzer] JsonSupport: Escape escapes.
  • A working one.
Mon, Jun 24, 8:09 PM · Restricted Project, Restricted Project
Charusso added a comment to D63462: [analyzer] JsonSupport: Escape escapes.
In D63462#1556831, @NoQ wrote:
Mon, Jun 24, 7:57 PM · Restricted Project, Restricted Project
Charusso updated the diff for D63462: [analyzer] JsonSupport: Escape escapes.
  • More test.
Mon, Jun 24, 7:57 PM · Restricted Project, Restricted Project
Charusso abandoned D63727: [analyzer] print() JSONify: Stable LocationContext IDs.
In D63727#1556821, @NoQ wrote:

I think i'd rather remove it entirely.

Mon, Jun 24, 7:29 PM · Restricted Project
Charusso added a comment to D63726: [analyzer] print() JSONify: Create pointers.
In D63726#1556825, @NoQ wrote:

Yay thx!

For Environment they aren't that useful, but it definitely doesn't hurt.

Mon, Jun 24, 7:26 PM · Restricted Project, Restricted Project
Charusso committed rG49885b1245c2: [analyzer] ExprEngine: Escape pointers in bitwise operations (authored by Charusso).
[analyzer] ExprEngine: Escape pointers in bitwise operations
Mon, Jun 24, 5:47 PM