Szelethus (Umann Kristóf)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 19 2017, 6:59 AM (61 w, 2 d)

Recent Activity

Wed, Sep 19

Szelethus added inline comments to D52219: [analyzer] (1/n) Support pointee mutation analysis in ExprMutationAnalyzer..
Wed, Sep 19, 7:40 PM
Szelethus added a comment to D47942: [SmallSet] Add SmallSetIterator..

It might worth updating the Programmer's Manual, it still states that SmallSet has no support for iteration.

Wed, Sep 19, 3:51 PM

Mon, Sep 17

Szelethus added a comment to D51866: [analyzer][UninitializedObjectChecker][WIP] New flag to ignore guarded uninitialized fields.

I played around with it, and this seemed a bit cleaner. Since I would only match against the definition of the record (and the definition of its methods), the matcher would need to look like this: stmt(hasDescendant(blahBlah(...))), and I'd only be able to retrieve (with my limited knowledge) the entire method definition, not the actual FieldDecl in the case of a match.
I didn'd do a whole lot of AST based analysis, so feel free to correct me on this one ^-^

Mon, Sep 17, 1:59 PM
Szelethus added a comment to D51866: [analyzer][UninitializedObjectChecker][WIP] New flag to ignore guarded uninitialized fields.

@george.karpenkov @xazax.hun, is this how you imagined checking whether an access is guarded?

Mon, Sep 17, 1:47 PM
Szelethus added a comment to D51886: [analyzer][UninitializedObjectChecker] Using the new const methods of ImmutableList.

Ping :)

Mon, Sep 17, 1:45 PM

Fri, Sep 14

Szelethus added a comment to rC342225: [analyzer] Restore final on NeedsCastLocField. NFC.

Thanks. Somehow I missed that being accidentally removed in rC342221.

Fri, Sep 14, 4:51 AM
Szelethus added a comment to D52036: [Analyzer] Use diff_plist in tests, NFC.

Cool! Looks a lot cleaner.

Fri, Sep 14, 4:29 AM
Szelethus committed rC342223: [analyzer] Attempt to make a windows buildbot happy..
[analyzer] Attempt to make a windows buildbot happy.
Fri, Sep 14, 4:21 AM
Szelethus committed rL342223: [analyzer] Attempt to make a windows buildbot happy..
[analyzer] Attempt to make a windows buildbot happy.
Fri, Sep 14, 4:21 AM
Szelethus committed rC342221: [analyzer][UninitializedObjectChecker] Support for nonloc::LocAsInteger.
[analyzer][UninitializedObjectChecker] Support for nonloc::LocAsInteger
Fri, Sep 14, 3:20 AM
Szelethus committed rL342221: [analyzer][UninitializedObjectChecker] Support for nonloc::LocAsInteger.
[analyzer][UninitializedObjectChecker] Support for nonloc::LocAsInteger
Fri, Sep 14, 3:19 AM
Szelethus closed D49437: [analyzer][UninitializedObjectChecker] Support for nonloc::LocAsInteger.
Fri, Sep 14, 3:19 AM
Szelethus committed rC342220: [analyzer][UninitializedObjectChecker] New flag to ignore records based on it's….
[analyzer][UninitializedObjectChecker] New flag to ignore records based on it's…
Fri, Sep 14, 3:11 AM
Szelethus committed rL342220: [analyzer][UninitializedObjectChecker] New flag to ignore records based on it's….
[analyzer][UninitializedObjectChecker] New flag to ignore records based on it's…
Fri, Sep 14, 3:11 AM
Szelethus closed D51680: [analyzer][UninitializedObjectChecker] New flag to ignore records based on it's fields.
Fri, Sep 14, 3:11 AM
Szelethus added inline comments to D51680: [analyzer][UninitializedObjectChecker] New flag to ignore records based on it's fields.
Fri, Sep 14, 3:07 AM
Szelethus committed rL342219: [analyzer][UninitializedObjectChecker] Refactored checker options.
[analyzer][UninitializedObjectChecker] Refactored checker options
Fri, Sep 14, 2:40 AM
Szelethus committed rC342219: [analyzer][UninitializedObjectChecker] Refactored checker options.
[analyzer][UninitializedObjectChecker] Refactored checker options
Fri, Sep 14, 2:40 AM
Szelethus closed D51679: [analyzer][UninitializedObjectChecker] Refactored checker options.
Fri, Sep 14, 2:40 AM
Szelethus committed rC342217: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for….
[analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for…
Fri, Sep 14, 2:15 AM
Szelethus committed rL342217: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for….
[analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for…
Fri, Sep 14, 2:15 AM
Szelethus closed D50892: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for record pointees.
Fri, Sep 14, 2:14 AM
Szelethus committed rC342215: [analyzer][UninitializedObjectChecker] Updated comments.
[analyzer][UninitializedObjectChecker] Updated comments
Fri, Sep 14, 2:09 AM
Szelethus committed rL342215: [analyzer][UninitializedObjectChecker] Updated comments.
[analyzer][UninitializedObjectChecker] Updated comments
Fri, Sep 14, 2:08 AM
Szelethus closed D51417: [analyzer][UninitializedObjectChecker] Updated comments.
Fri, Sep 14, 2:08 AM
Szelethus committed rC342213: [analyzer][UninitializedObjectChecker] Fixed dereferencing.
[analyzer][UninitializedObjectChecker] Fixed dereferencing
Fri, Sep 14, 2:01 AM
Szelethus committed rL342213: [analyzer][UninitializedObjectChecker] Fixed dereferencing.
[analyzer][UninitializedObjectChecker] Fixed dereferencing
Fri, Sep 14, 2:01 AM
Szelethus closed D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.
Fri, Sep 14, 2:01 AM

Wed, Sep 12

Szelethus committed rL342045: [ADT] Made numerous methods of ImmutableList const.
[ADT] Made numerous methods of ImmutableList const
Wed, Sep 12, 4:21 AM
Szelethus closed D51881: [ADT] Made numerous methods of ImmutableList const.
Wed, Sep 12, 4:21 AM
Szelethus set the repository for D51881: [ADT] Made numerous methods of ImmutableList const to rL LLVM.
Wed, Sep 12, 4:19 AM

Tue, Sep 11

Szelethus updated the diff for D51881: [ADT] Made numerous methods of ImmutableList const.

Fixes according to inline comments.

Tue, Sep 11, 2:28 AM

Mon, Sep 10

Szelethus added a dependency for D51886: [analyzer][UninitializedObjectChecker] Using the new const methods of ImmutableList: D51881: [ADT] Made numerous methods of ImmutableList const.
Mon, Sep 10, 12:37 PM
Szelethus added a dependent revision for D51881: [ADT] Made numerous methods of ImmutableList const: D51886: [analyzer][UninitializedObjectChecker] Using the new const methods of ImmutableList.
Mon, Sep 10, 12:37 PM
Szelethus created D51886: [analyzer][UninitializedObjectChecker] Using the new const methods of ImmutableList.
Mon, Sep 10, 12:37 PM
Szelethus created D51881: [ADT] Made numerous methods of ImmutableList const.
Mon, Sep 10, 12:29 PM
Szelethus added a comment to D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.

I ran the checker on LLVM/Clang and grpc, and saw no crashes at all! Quite confident about the current diff. However, I'm not 100% sure it doesn't break on Objective C++ codes. Can you recommend a project like that?

Mon, Sep 10, 11:46 AM
Szelethus added inline comments to D50892: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for record pointees.
Mon, Sep 10, 11:08 AM
Szelethus added a dependent revision for D51679: [analyzer][UninitializedObjectChecker] Refactored checker options: D51866: [analyzer][UninitializedObjectChecker][WIP] New flag to ignore guarded uninitialized fields.
Mon, Sep 10, 10:39 AM
Szelethus added a dependency for D51866: [analyzer][UninitializedObjectChecker][WIP] New flag to ignore guarded uninitialized fields: D51679: [analyzer][UninitializedObjectChecker] Refactored checker options.
Mon, Sep 10, 10:39 AM
Szelethus added a comment to D51300: [analyzer][UninitializedObjectChecker] No longer using nonloc::LazyCompoundVal.

There are some nasty environment issues I'm dealing with, so the issue is the lack of a well functioning creduce, but I'll get it done eventually.

Mon, Sep 10, 10:34 AM
Szelethus added inline comments to D51680: [analyzer][UninitializedObjectChecker] New flag to ignore records based on it's fields.
Mon, Sep 10, 10:31 AM
Szelethus updated the diff for D51680: [analyzer][UninitializedObjectChecker] New flag to ignore records based on it's fields.

Generalized the patch so that the user can supply the pattern that is matched against the fields of the records.

Mon, Sep 10, 10:29 AM
Szelethus updated the summary of D51866: [analyzer][UninitializedObjectChecker][WIP] New flag to ignore guarded uninitialized fields.
Mon, Sep 10, 9:25 AM
Szelethus created D51866: [analyzer][UninitializedObjectChecker][WIP] New flag to ignore guarded uninitialized fields.
Mon, Sep 10, 9:25 AM

Fri, Sep 7

Szelethus added a comment to D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once.

Polite ping :)

Fri, Sep 7, 8:22 AM
Szelethus added inline comments to D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.
Fri, Sep 7, 3:56 AM

Wed, Sep 5

Szelethus added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

How then do you think I should try matching the IntPointerArray example? I am now leaning towards not doing this via AST Matchers as I am not sure if I can easily match more complex cases.

Wed, Sep 5, 11:31 AM · Restricted Project
Szelethus planned changes to D51300: [analyzer][UninitializedObjectChecker] No longer using nonloc::LazyCompoundVal.

Sounds like a test case would be great to have.

Aye. I'd be good to land this with that testcase. There are a variety of other projects I'm working on (related to the checker), and none of them depend on this patch, so I'll commit this once I figure out how to use creduce ><

Wed, Sep 5, 11:11 AM
Szelethus updated the diff for D51680: [analyzer][UninitializedObjectChecker] New flag to ignore records based on it's fields.

Added doc to www/analyzer/alpha_checks.html.

Wed, Sep 5, 8:41 AM
Szelethus planned changes to D51305: [analyzer][UninitializedObjectChecker] Reports Loc fields pointing to themselves.

I've been made aware of some valid concerns with this patch. I'll revisit this at a later time, please ignore it for now.

Wed, Sep 5, 8:23 AM
Szelethus added a dependent revision for D51679: [analyzer][UninitializedObjectChecker] Refactored checker options: D51680: [analyzer][UninitializedObjectChecker] New flag to ignore records based on it's fields.
Wed, Sep 5, 4:47 AM
Szelethus added a dependency for D51680: [analyzer][UninitializedObjectChecker] New flag to ignore records based on it's fields: D51679: [analyzer][UninitializedObjectChecker] Refactored checker options.
Wed, Sep 5, 4:47 AM
Szelethus created D51680: [analyzer][UninitializedObjectChecker] New flag to ignore records based on it's fields.
Wed, Sep 5, 4:47 AM
Szelethus created D51679: [analyzer][UninitializedObjectChecker] Refactored checker options.
Wed, Sep 5, 4:33 AM
Szelethus added a comment to D51417: [analyzer][UninitializedObjectChecker] Updated comments.

Polite ping ^-^

Wed, Sep 5, 4:20 AM
Szelethus added inline comments to D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.
Wed, Sep 5, 2:53 AM
Szelethus updated the diff for D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.

Fixed an assertation failure where a lambda field's this capture was undefined.

Wed, Sep 5, 2:47 AM

Tue, Sep 4

Szelethus updated the diff for D51300: [analyzer][UninitializedObjectChecker] No longer using nonloc::LazyCompoundVal.

Fixed a crash where the returned region's type wasn't CXXRecordDecl. I'm not even sure how this is possible -- and unfortunately I've been unable to create a minimal (not) working example for this, and I wasn't even able to recreate the error locally. However, on the server where I could repeatedly cause a crash with the analysis of lib/AST/Expr.cpp, this fix resolved the issue.

Tue, Sep 4, 7:29 AM

Fri, Aug 31

Szelethus updated the summary of D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once.
Fri, Aug 31, 12:41 PM
Szelethus updated the diff for D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once.
Fri, Aug 31, 8:54 AM
Szelethus updated the diff for D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.

Reuploaded with -U99999. Oops.

Fri, Aug 31, 4:24 AM
Szelethus added a comment to D51515: [analyzer] Add coverage information to plist output, update tests.

This is pretty cool!

Fri, Aug 31, 2:48 AM
Szelethus updated the summary of D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once.
Fri, Aug 31, 2:28 AM
Szelethus added a comment to D51300: [analyzer][UninitializedObjectChecker] No longer using nonloc::LazyCompoundVal.

Would you be comfortable me commiting this without that assert, or should I come up with a more risk-free solution?

Fri, Aug 31, 2:16 AM
Szelethus added a dependency for D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once: D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.
Fri, Aug 31, 2:14 AM
Szelethus added a dependent revision for D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing: D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once.
Fri, Aug 31, 2:14 AM
Szelethus created D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once.
Fri, Aug 31, 2:13 AM
Szelethus updated the diff for D50892: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for record pointees.

Fixed a crash, where the super region was symbolic.

Fri, Aug 31, 1:39 AM

Wed, Aug 29

Szelethus updated the diff for D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.

Fixed two crashes. Interesting how many much better this approach works, as I've never encountered FunctionTyped objects or only forward declared typed pointers after dereferencing.

Wed, Aug 29, 1:59 PM
Szelethus added a comment to D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.

I managed to cause a bunch of crashes with this patch, so consider it as a work in progress for now :/

Wed, Aug 29, 12:23 PM
Szelethus added inline comments to D50892: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for record pointees.
Wed, Aug 29, 12:21 PM
Szelethus added inline comments to D51417: [analyzer][UninitializedObjectChecker] Updated comments.
Wed, Aug 29, 6:01 AM
Szelethus added a dependency for D51417: [analyzer][UninitializedObjectChecker] Updated comments: D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.
Wed, Aug 29, 6:01 AM
Szelethus added a dependent revision for D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing: D51417: [analyzer][UninitializedObjectChecker] Updated comments.
Wed, Aug 29, 6:01 AM
Szelethus created D51417: [analyzer][UninitializedObjectChecker] Updated comments.
Wed, Aug 29, 5:56 AM
Szelethus added inline comments to D51300: [analyzer][UninitializedObjectChecker] No longer using nonloc::LazyCompoundVal.
Wed, Aug 29, 4:23 AM

Tue, Aug 28

Szelethus added inline comments to D50892: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for record pointees.
Tue, Aug 28, 2:13 PM
Szelethus abandoned D49986: [ADT] ImmutableList::add parameters are switched.
In D49985#1181568, @NoQ wrote:

It looks like concat orders the arguments in the same way that the output would be (so concat(X, list) produces [X, list]) - so preserving that argument order seems like it improves/retains readability compared to switching them around so 'concat(list, X)' produces '[X, list]'.

Yeah, i guess that might have been the motivation behind such inconsistency. I'll be fine with fixing the order for other data structures.

@NoQ Have your views changed about this patch? Shall I abandon it?

Tue, Aug 28, 7:24 AM
Szelethus committed rL340824: [ADT] ImmutableList no longer requires elements to be copy constructible.
[ADT] ImmutableList no longer requires elements to be copy constructible
Tue, Aug 28, 7:18 AM
Szelethus closed D49985: [ADT] ImmutableList no longer requires elements to be copy constructible.
Tue, Aug 28, 7:18 AM

Mon, Aug 27

Szelethus added inline comments to D51305: [analyzer][UninitializedObjectChecker] Reports Loc fields pointing to themselves.
Mon, Aug 27, 1:32 PM
Szelethus added a comment to D51305: [analyzer][UninitializedObjectChecker] Reports Loc fields pointing to themselves.

Thanks for taking a look!

Mon, Aug 27, 11:05 AM
Szelethus added a dependency for D51305: [analyzer][UninitializedObjectChecker] Reports Loc fields pointing to themselves: D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.
Mon, Aug 27, 7:51 AM
Szelethus added a dependent revision for D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing: D51305: [analyzer][UninitializedObjectChecker] Reports Loc fields pointing to themselves.
Mon, Aug 27, 7:51 AM
Szelethus created D51305: [analyzer][UninitializedObjectChecker] Reports Loc fields pointing to themselves.
Mon, Aug 27, 7:51 AM
Szelethus created D51300: [analyzer][UninitializedObjectChecker] No longer using nonloc::LazyCompoundVal.
Mon, Aug 27, 6:43 AM
Szelethus updated the diff for D49985: [ADT] ImmutableList no longer requires elements to be copy constructible.

Now using universal references.

Mon, Aug 27, 5:37 AM
Szelethus updated the diff for D50892: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for record pointees.

Actually, the note messages were incorrect as in this case the static and dynamic type of the object differs.

Mon, Aug 27, 4:53 AM

Thu, Aug 23

Szelethus edited dependencies for D49437: [analyzer][UninitializedObjectChecker] Support for nonloc::LocAsInteger, added: 1; removed: 1.
Thu, Aug 23, 10:32 AM
Szelethus removed a dependent revision for D50509: [analyzer][UninitializedObjectChecker] Refactoring p6.: Move dereferencing to a function: D49437: [analyzer][UninitializedObjectChecker] Support for nonloc::LocAsInteger.
Thu, Aug 23, 10:32 AM
Szelethus added a dependent revision for D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing: D49437: [analyzer][UninitializedObjectChecker] Support for nonloc::LocAsInteger.
Thu, Aug 23, 10:32 AM
Szelethus updated the diff for D49437: [analyzer][UninitializedObjectChecker] Support for nonloc::LocAsInteger.

Rebased to D51057.

Thu, Aug 23, 10:32 AM
Szelethus added inline comments to D50892: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for record pointees.
Thu, Aug 23, 10:17 AM
Szelethus added a dependency for D50892: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for record pointees: D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.
Thu, Aug 23, 9:39 AM
Szelethus added a dependent revision for D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing: D50892: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for record pointees.
Thu, Aug 23, 9:39 AM
Szelethus updated the diff for D50892: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for record pointees.

Rebased to D51057.

Thu, Aug 23, 9:39 AM
Szelethus added inline comments to D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.
Thu, Aug 23, 9:27 AM
Szelethus updated the diff for D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.

Addressed the inline comments.

  • Added a llvm::SmallSet to further ensure the termination of the loop.
  • Changed isLocType to isDereferencableType, block pointers are regarded as primitive objects.
  • Added new tests
Thu, Aug 23, 9:17 AM

Aug 21 2018

Szelethus added a comment to D51057: [analyzer][UninitializedObjectChecker] Fixed dereferencing.

@NoQ, is this how you imagined derefercing to work? I'm still a little uncertain that I implemented this in a way that addresses all your concerns.

Aug 21 2018, 12:52 PM