Page MenuHomePhabricator

baloghadamsoftware (Balogh, Ádám)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 9 2016, 4:07 AM (171 w, 6 d)

Recent Activity

Fri, Jun 14

baloghadamsoftware accepted D63080: [analyzer] Track indices of arrays.

LGTM!

Fri, Jun 14, 11:09 PM · Restricted Project, Restricted Project

Thu, Jun 13

baloghadamsoftware created D63279: [Analyzer] Unroll for-loops where the upper boundary is a variable with know value.
Thu, Jun 13, 9:12 AM · Restricted Project

Wed, Jun 12

baloghadamsoftware added a comment to D62899: [analyzer][UninitializedObjectChecker] Mark uninitialized regions as interesting..

Looks much better than the original one, but why did the warning move to the correct place just because marking the region as interesting?

Wed, Jun 12, 5:09 AM · Restricted Project
baloghadamsoftware requested changes to D63080: [analyzer] Track indices of arrays.
Wed, Jun 12, 4:31 AM · Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D62525: [Analyzer] Add new visitor to the iterator checkers.

Visitors now track increments and decrements.

Wed, Jun 12, 1:07 AM · Restricted Project

Wed, Jun 5

baloghadamsoftware added a comment to D62895: [Analyzer] Iterator Checkers - Check and simulate `std::advance`, `std::prev` and `std::next`.

This patch definitely reduces the number of false positives, but may not be enough. The problem is that std::advance() may call another function that does the actual incremention or decremention, in the gcc implementation it is __advance(). If the std::advance() is inlined but __advance() not then we still get false positive. The obvious way would be to simulate __advance() as well but it is an implementation dependent internal function and may be totally different for other implementations. Another idea is that instead of querying the CheckerContext whether advance() was inlined we go up the exploded graph and find its "precall" state and compare the values of the first parameter related to the second one in the two states. This is a bit more complex and more expensive but this for me this seems to be the correct solution.

Wed, Jun 5, 4:09 AM · Restricted Project
baloghadamsoftware added a parent revision for D62895: [Analyzer] Iterator Checkers - Check and simulate `std::advance`, `std::prev` and `std::next`: D62893: [Analyzer] Iterator Checkers - Make range errors and invalidated access fatal.
Wed, Jun 5, 2:31 AM · Restricted Project
baloghadamsoftware created D62895: [Analyzer] Iterator Checkers - Check and simulate `std::advance`, `std::prev` and `std::next`.
Wed, Jun 5, 2:31 AM · Restricted Project
baloghadamsoftware added a child revision for D62893: [Analyzer] Iterator Checkers - Make range errors and invalidated access fatal: D62895: [Analyzer] Iterator Checkers - Check and simulate `std::advance`, `std::prev` and `std::next`.
Wed, Jun 5, 2:31 AM · Restricted Project
baloghadamsoftware added a comment to D62893: [Analyzer] Iterator Checkers - Make range errors and invalidated access fatal.

I left errors caused by mismatched iterators non-fatal for now. This is debatable because passing a function expecting a range iterators for two different containers or applying a container modifier using a mismatched iterator also leads to undefined behavior. However, comparing two iterators of different containers always returns false thus it is non-fatal. Maybe we should separate these two cases and report the first one as fatal, the second one as non-fatal errors.

Wed, Jun 5, 2:18 AM · Restricted Project
baloghadamsoftware created D62893: [Analyzer] Iterator Checkers - Make range errors and invalidated access fatal.
Wed, Jun 5, 2:15 AM · Restricted Project

Fri, May 31

baloghadamsoftware created D62724: [Analyzer] Iterator Checkers - Model `size()` method of containers.
Fri, May 31, 2:21 AM · Restricted Project

Thu, May 30

baloghadamsoftware created D62688: [Analyzer] Iterator Checkers - Model `empty()` method of containers.
Thu, May 30, 9:24 AM · Restricted Project
baloghadamsoftware added inline comments to D62525: [Analyzer] Add new visitor to the iterator checkers.
Thu, May 30, 7:59 AM · Restricted Project
baloghadamsoftware added a comment to D62525: [Analyzer] Add new visitor to the iterator checkers.
In D62525#1519868, @NoQ wrote:

Before someone asks: NoteTags are not applicable here since invalidation and reaching one end of the range happens in many different places. This is also true for container emptiness.

Mm, what's wrong with many different places? If you're worried about code duplication, just put tag construction into a function (?)

Thu, May 30, 7:57 AM · Restricted Project
baloghadamsoftware updated the diff for D49074: [Analyzer] [WIP] Basic support for multiplication and division in the constraint manager.

Rebased.

Thu, May 30, 7:46 AM
baloghadamsoftware removed a reviewer for D50256: [Analyzer] [WIP] Basic support for multiplication and division in the constraint manager (for == and != only): george.karpenkov.
Thu, May 30, 7:41 AM
baloghadamsoftware updated the diff for D50256: [Analyzer] [WIP] Basic support for multiplication and division in the constraint manager (for == and != only).

Multipliers limited to less or equal to 255.

Thu, May 30, 7:41 AM

Tue, May 28

baloghadamsoftware added a comment to D62525: [Analyzer] Add new visitor to the iterator checkers.

Before someone asks: NoteTags are not applicable here since invalidation and reaching one end of the range happens in many different places. This is also true for container emptiness.

Tue, May 28, 10:14 AM · Restricted Project
baloghadamsoftware created D62525: [Analyzer] Add new visitor to the iterator checkers.
Tue, May 28, 7:12 AM · Restricted Project
baloghadamsoftware committed rG9ed4b316d13f: [Analyzer] Replace `CXXSelfAssignmentBRVisitor` with `NoteTags` (authored by baloghadamsoftware).
[Analyzer] Replace `CXXSelfAssignmentBRVisitor` with `NoteTags`
Tue, May 28, 6:07 AM
baloghadamsoftware committed rL361818: [Analyzer] Replace `CXXSelfAssignmentBRVisitor` with `NoteTags`.
[Analyzer] Replace `CXXSelfAssignmentBRVisitor` with `NoteTags`
Tue, May 28, 6:07 AM
baloghadamsoftware committed rC361818: [Analyzer] Replace `CXXSelfAssignmentBRVisitor` with `NoteTags`.
[Analyzer] Replace `CXXSelfAssignmentBRVisitor` with `NoteTags`
Tue, May 28, 6:07 AM
baloghadamsoftware closed D62479: [Analyzer] Replace `CXXSelfAssignmentBRVisitor` with `NoteTags`.
Tue, May 28, 6:07 AM · Restricted Project

Mon, May 27

baloghadamsoftware retitled D62479: [Analyzer] Replace `CXXSelfAssignmentBRVisitor` with `NoteTags` from Replace `CXXSelfAssignmentBRVisitor` with `NoteTags` to [Analyzer] Replace `CXXSelfAssignmentBRVisitor` with `NoteTags`.
Mon, May 27, 6:08 AM · Restricted Project
baloghadamsoftware created D62479: [Analyzer] Replace `CXXSelfAssignmentBRVisitor` with `NoteTags`.
Mon, May 27, 4:03 AM · Restricted Project

May 21 2019

baloghadamsoftware committed rG5f3deb9bb5a7: [clang-tidy] New option for misc-throw-by-value-catch-by-reference (authored by baloghadamsoftware).
[clang-tidy] New option for misc-throw-by-value-catch-by-reference
May 21 2019, 12:24 AM
baloghadamsoftware committed rCTE361225: [clang-tidy] New option for misc-throw-by-value-catch-by-reference.
[clang-tidy] New option for misc-throw-by-value-catch-by-reference
May 21 2019, 12:24 AM
baloghadamsoftware committed rL361225: [clang-tidy] New option for misc-throw-by-value-catch-by-reference.
[clang-tidy] New option for misc-throw-by-value-catch-by-reference
May 21 2019, 12:23 AM
baloghadamsoftware closed D61851: [clang-tidy] New option for misc-throw-by-value-catch-by-reference.
May 21 2019, 12:23 AM · Restricted Project, Restricted Project, Restricted Project

May 20 2019

baloghadamsoftware updated the diff for D61851: [clang-tidy] New option for misc-throw-by-value-catch-by-reference.

Updated according to the comments.

May 20 2019, 6:29 AM · Restricted Project, Restricted Project, Restricted Project
baloghadamsoftware committed rG33160c442449: [Analyzer] Refactor begin and end symbol creation (authored by baloghadamsoftware).
[Analyzer] Refactor begin and end symbol creation
May 20 2019, 4:03 AM
baloghadamsoftware committed rC361141: [Analyzer] Refactor begin and end symbol creation.
[Analyzer] Refactor begin and end symbol creation
May 20 2019, 4:02 AM
baloghadamsoftware committed rL361141: [Analyzer] Refactor begin and end symbol creation.
[Analyzer] Refactor begin and end symbol creation
May 20 2019, 4:01 AM
baloghadamsoftware closed D61136: [Analyzer] Refactor begin and end symbol creation.
May 20 2019, 4:01 AM · Restricted Project, Restricted Project

May 13 2019

baloghadamsoftware created D61851: [clang-tidy] New option for misc-throw-by-value-catch-by-reference.
May 13 2019, 4:18 AM · Restricted Project, Restricted Project, Restricted Project

May 6 2019

baloghadamsoftware committed rCTE360114: [clang-tidy] Extend bugprone-sizeof-expression to check sizeof(pointers to….
[clang-tidy] Extend bugprone-sizeof-expression to check sizeof(pointers to…
May 6 2019, 11:16 PM
baloghadamsoftware committed rGecd1a82ee208: [clang-tidy] Extend bugprone-sizeof-expression to check sizeof(pointers to… (authored by baloghadamsoftware).
[clang-tidy] Extend bugprone-sizeof-expression to check sizeof(pointers to…
May 6 2019, 11:16 PM
baloghadamsoftware committed rL360114: [clang-tidy] Extend bugprone-sizeof-expression to check sizeof(pointers to….
[clang-tidy] Extend bugprone-sizeof-expression to check sizeof(pointers to…
May 6 2019, 11:15 PM
baloghadamsoftware closed D61260: [clang-tidy] Extend bugprone-sizeof-expression to check sizeof(pointers to structures).
May 6 2019, 11:15 PM · Restricted Project, Restricted Project, Restricted Project
baloghadamsoftware committed rG62468003ef97: [clang-tidy] Extend bugprone-sizeof-expression check to detect sizeof misuse in… (authored by baloghadamsoftware).
[clang-tidy] Extend bugprone-sizeof-expression check to detect sizeof misuse in…
May 6 2019, 3:40 AM
baloghadamsoftware committed rL360032: [clang-tidy] Extend bugprone-sizeof-expression check to detect sizeof misuse in….
[clang-tidy] Extend bugprone-sizeof-expression check to detect sizeof misuse in…
May 6 2019, 3:40 AM
baloghadamsoftware committed rCTE360032: [clang-tidy] Extend bugprone-sizeof-expression check to detect sizeof misuse in….
[clang-tidy] Extend bugprone-sizeof-expression check to detect sizeof misuse in…
May 6 2019, 3:40 AM
baloghadamsoftware closed D61422: [clang-tidy] Extend bugprone-sizeof-expression check to detect sizeof misuse in pointer arithmetic.
May 6 2019, 3:40 AM · Restricted Project, Restricted Project

May 3 2019

baloghadamsoftware added a comment to D61422: [clang-tidy] Extend bugprone-sizeof-expression check to detect sizeof misuse in pointer arithmetic.

Hmm, I am a little bit skeptical about the utility of this compared to the expense of making the check marginally slower. However, I don't have any specific objections and so I'm not opposed to the patch. LG!

May 3 2019, 6:20 AM · Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D61136: [Analyzer] Refactor begin and end symbol creation.

SymbolConjured * written, feature removed, just refactoring.

May 3 2019, 6:15 AM · Restricted Project, Restricted Project
baloghadamsoftware added inline comments to D61260: [clang-tidy] Extend bugprone-sizeof-expression to check sizeof(pointers to structures).
May 3 2019, 5:32 AM · Restricted Project, Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D61260: [clang-tidy] Extend bugprone-sizeof-expression to check sizeof(pointers to structures).

New tests added.

May 3 2019, 5:31 AM · Restricted Project, Restricted Project, Restricted Project
baloghadamsoftware added a comment to D61422: [clang-tidy] Extend bugprone-sizeof-expression check to detect sizeof misuse in pointer arithmetic.

Out of curiosity, have you run this over any large code bases to see what the false positive and true positive rate is?

May 3 2019, 2:27 AM · Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D61422: [clang-tidy] Extend bugprone-sizeof-expression check to detect sizeof misuse in pointer arithmetic.

Dot added to the end of the comment.

May 3 2019, 2:27 AM · Restricted Project, Restricted Project

May 2 2019

baloghadamsoftware updated the diff for D61422: [clang-tidy] Extend bugprone-sizeof-expression check to detect sizeof misuse in pointer arithmetic.

Type int in tests replaced by struct S because it has more "sugar". Check also fixed to handle this case.

May 2 2019, 6:36 AM · Restricted Project, Restricted Project
baloghadamsoftware created D61422: [clang-tidy] Extend bugprone-sizeof-expression check to detect sizeof misuse in pointer arithmetic.
May 2 2019, 1:31 AM · Restricted Project, Restricted Project

Apr 29 2019

baloghadamsoftware created D61260: [clang-tidy] Extend bugprone-sizeof-expression to check sizeof(pointers to structures).
Apr 29 2019, 6:39 AM · Restricted Project, Restricted Project, Restricted Project

Apr 26 2019

baloghadamsoftware added inline comments to D61136: [Analyzer] Refactor begin and end symbol creation.
Apr 26 2019, 12:46 AM · Restricted Project, Restricted Project
baloghadamsoftware added a comment to D61136: [Analyzer] Refactor begin and end symbol creation.
In D61136#1479454, @NoQ wrote:

Aha, yup, thx!

Do you plan to centralize other code paths on which you conjure symbols?

Apr 26 2019, 12:39 AM · Restricted Project, Restricted Project
baloghadamsoftware committed rGd538b70b44a1: [Analyzer] Iterator Checkers - Do an early return after handling calls (authored by baloghadamsoftware).
[Analyzer] Iterator Checkers - Do an early return after handling calls
Apr 26 2019, 12:32 AM
baloghadamsoftware committed rL359283: [Analyzer] Iterator Checkers - Do an early return after handling calls.
[Analyzer] Iterator Checkers - Do an early return after handling calls
Apr 26 2019, 12:28 AM
baloghadamsoftware committed rC359283: [Analyzer] Iterator Checkers - Do an early return after handling calls.
[Analyzer] Iterator Checkers - Do an early return after handling calls
Apr 26 2019, 12:28 AM
baloghadamsoftware closed D61134: [Analyzer] Iterator Checkers - Do an early return after handling calls.
Apr 26 2019, 12:28 AM · Restricted Project

Apr 25 2019

baloghadamsoftware created D61136: [Analyzer] Refactor begin and end symbol creation.
Apr 25 2019, 9:13 AM · Restricted Project, Restricted Project
baloghadamsoftware created D61134: [Analyzer] Iterator Checkers - Do an early return after handling calls.
Apr 25 2019, 8:44 AM · Restricted Project

Apr 23 2019

baloghadamsoftware committed rGd2e2e20de368: [Analyzer] Second fix for last commit for IteratorChecker (authored by baloghadamsoftware).
[Analyzer] Second fix for last commit for IteratorChecker
Apr 23 2019, 4:20 AM
baloghadamsoftware committed rL358971: [Analyzer] Second fix for last commit for IteratorChecker.
[Analyzer] Second fix for last commit for IteratorChecker
Apr 23 2019, 4:17 AM
baloghadamsoftware committed rC358971: [Analyzer] Second fix for last commit for IteratorChecker.
[Analyzer] Second fix for last commit for IteratorChecker
Apr 23 2019, 4:16 AM
baloghadamsoftware committed rG8f8827014d6e: [Analyzer] Fix for previous commit (authored by baloghadamsoftware).
[Analyzer] Fix for previous commit
Apr 23 2019, 12:44 AM
baloghadamsoftware committed rL358955: [Analyzer] Fix for previous commit.
[Analyzer] Fix for previous commit
Apr 23 2019, 12:43 AM
baloghadamsoftware committed rC358955: [Analyzer] Fix for previous commit.
[Analyzer] Fix for previous commit
Apr 23 2019, 12:43 AM
baloghadamsoftware committed rG54976e76e672: [Analyzer] Instead of recording comparisons in interator checkers do an eager… (authored by baloghadamsoftware).
[Analyzer] Instead of recording comparisons in interator checkers do an eager…
Apr 23 2019, 12:15 AM
baloghadamsoftware committed rL358951: [Analyzer] Instead of recording comparisons in interator checkers do an eager….
[Analyzer] Instead of recording comparisons in interator checkers do an eager…
Apr 23 2019, 12:14 AM
baloghadamsoftware committed rC358951: [Analyzer] Instead of recording comparisons in interator checkers do an eager….
[Analyzer] Instead of recording comparisons in interator checkers do an eager…
Apr 23 2019, 12:14 AM
baloghadamsoftware closed D53701: [Analyzer] Instead of recording comparisons in interator checkers do an eager state split.
Apr 23 2019, 12:14 AM · Restricted Project

Apr 16 2019

baloghadamsoftware accepted D59459: [analyzer][NFC] Prefer binary searches in CheckerRegistry.

LGTM!

Apr 16 2019, 5:40 AM · Restricted Project, Restricted Project

Mar 28 2019

baloghadamsoftware committed rGa19c985f8ab0: [Analyzer] Constraint Manager - Calculate Effective Range for Differences (authored by baloghadamsoftware).
[Analyzer] Constraint Manager - Calculate Effective Range for Differences
Mar 28 2019, 6:07 AM
baloghadamsoftware committed rC357167: [Analyzer] Constraint Manager - Calculate Effective Range for Differences.
[Analyzer] Constraint Manager - Calculate Effective Range for Differences
Mar 28 2019, 6:05 AM
baloghadamsoftware committed rL357167: [Analyzer] Constraint Manager - Calculate Effective Range for Differences.
[Analyzer] Constraint Manager - Calculate Effective Range for Differences
Mar 28 2019, 6:04 AM
baloghadamsoftware closed D55007: [Analyzer] Constraint Manager - Calculate Effective Range for Differences.
Mar 28 2019, 6:04 AM · Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D53701: [Analyzer] Instead of recording comparisons in interator checkers do an eager state split.

Fixed double transition.

Mar 28 2019, 2:58 AM · Restricted Project

Mar 19 2019

baloghadamsoftware accepted D59461: [analyzer] Fix an assertion failure if plugins added dependencies.

This one seems straightforward.

Mar 19 2019, 7:56 AM · Restricted Project
baloghadamsoftware added a comment to D59466: [clang-tidy] openmp-exception-escape - a new check.

Great work! Thank you! I only have minor comment: did you consider moving the refactoring of ExceptionAnalyzer into a separate (prerequisite) patch?

Mar 19 2019, 7:37 AM · Restricted Project, Restricted Project, Restricted Project
baloghadamsoftware requested changes to D59459: [analyzer][NFC] Prefer binary searches in CheckerRegistry.
Mar 19 2019, 6:29 AM · Restricted Project, Restricted Project

Mar 18 2019

baloghadamsoftware accepted D59458: [analyzer][NFC] Clang-format CheckerRegistry.

No patch should be committed without clang-formatting anyway...

Mar 18 2019, 8:18 AM · Restricted Project
baloghadamsoftware added a comment to D59457: [analyzer][NFC] Use capital variable names, move methods out-of-line, rename some in CheckerRegistry.

Please rename the patch. Its name does not really express its content.

Mar 18 2019, 8:15 AM · Restricted Project, Restricted Project
baloghadamsoftware added a comment to D58367: [analyzer] NFC: Improve upon the concept of BugReporterVisitor..

As I understand it, this solution could be used to entirely get rid of the current bugreporter visitor structure (at least for checkers), right? The discussion seems to conclude that this is just as general, far easier to understand, far easier to implement, and is basically better in every regard without an (edit: significant) hit to performance? Because if so, I'm definitely against supporting two concurrent implementations of the same functionality -- in fact, we should even just forbid checkers to add custom visitors.

Mar 18 2019, 7:55 AM · Restricted Project, Restricted Project
baloghadamsoftware accepted D57855: [analyzer][NFC] Reimplement checker options.

Aside from little comment it seems OK.

Mar 18 2019, 7:48 AM · Restricted Project
baloghadamsoftware added a comment to D57108: [clang-tidy] diagnose possibiltiy to add 'noexcept' in modernize-use-noexcept.

Ping! Any news regarding this patch?

Mar 18 2019, 7:20 AM · Restricted Project, Restricted Project
baloghadamsoftware added a comment to D57860: [analyzer] Validate checker option names and values.

I think it would be better if the default for compatibility mode were 'true'. That way this change will be backwards compatible and clients who want to enforce stricter checking could enable it. Setting compatibility mode to be true in the driver is not sufficient since many build systems call the frontend directly.

Mar 18 2019, 12:59 AM · Restricted Project, Restricted Project
baloghadamsoftware added a comment to D55007: [Analyzer] Constraint Manager - Calculate Effective Range for Differences.

Ping!

Mar 18 2019, 12:44 AM · Restricted Project, Restricted Project
baloghadamsoftware added a comment to D53701: [Analyzer] Instead of recording comparisons in interator checkers do an eager state split.

Ping!

Mar 18 2019, 12:42 AM · Restricted Project
baloghadamsoftware accepted D57922: [analyzer] Insert checker options into AnalyzerOption::ConfigTable.

LGTM!

Mar 18 2019, 12:42 AM · Restricted Project, Restricted Project

Mar 13 2019

baloghadamsoftware committed rGd703305e404d: [Analyzer] Skip symbolic regions based on conjured symbols in comparison of the… (authored by baloghadamsoftware).
[Analyzer] Skip symbolic regions based on conjured symbols in comparison of the…
Mar 13 2019, 6:54 AM
baloghadamsoftware committed rL356049: [Analyzer] Skip symbolic regions based on conjured symbols in comparison of the….
[Analyzer] Skip symbolic regions based on conjured symbols in comparison of the…
Mar 13 2019, 6:54 AM
baloghadamsoftware committed rC356049: [Analyzer] Skip symbolic regions based on conjured symbols in comparison of the….
[Analyzer] Skip symbolic regions based on conjured symbols in comparison of the…
Mar 13 2019, 6:54 AM
baloghadamsoftware closed D53754: [Analyzer] Skip symbolic regions based on conjured symbols in comparison of the containers of iterators.
Mar 13 2019, 6:54 AM · Restricted Project

Mar 12 2019

baloghadamsoftware added inline comments to D57860: [analyzer] Validate checker option names and values.
Mar 12 2019, 7:20 AM · Restricted Project, Restricted Project
baloghadamsoftware added inline comments to D57922: [analyzer] Insert checker options into AnalyzerOption::ConfigTable.
Mar 12 2019, 7:19 AM · Restricted Project, Restricted Project
baloghadamsoftware accepted D59195: [analyzer] Remove the default value arg from getChecker*Option.

This is straightforward.

Mar 12 2019, 6:55 AM · Restricted Project, Restricted Project
baloghadamsoftware added inline comments to D57860: [analyzer] Validate checker option names and values.
Mar 12 2019, 6:09 AM · Restricted Project, Restricted Project

Mar 11 2019

baloghadamsoftware requested changes to D57855: [analyzer][NFC] Reimplement checker options.
Mar 11 2019, 7:47 AM · Restricted Project

Feb 21 2019

baloghadamsoftware updated the diff for D53701: [Analyzer] Instead of recording comparisons in interator checkers do an eager state split.

processComparison() refactored.

Feb 21 2019, 12:53 AM · Restricted Project

Feb 20 2019

baloghadamsoftware retitled D53701: [Analyzer] Instead of recording comparisons in interator checkers do an eager state split from [Analyzer] Record and process comparison of symbols instead of iterator positions in interator checkers to [Analyzer] Instead of recording comparisons in interator checkers do an eager state split.
Feb 20 2019, 10:12 AM · Restricted Project