Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Disabled NPE checks for non-public library fields by default#353

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
Damtev merged 8 commits intomainfromdamtev/inaccessible_fields_npe_checks_setting
Jul 7, 2022

Conversation

@Damtev
Copy link
Member

@DamtevDamtev commentedJun 29, 2022
edited
Loading

Description

Disable NPE checks for non-public fields from library classes by default, as for final fields.

Fixes#358

Type of Change

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Automated Testing

Seeorg.utbot.examples.stdlib.DateExampleTest

Manual Scenario

Checks#358 description.

Checklist (remove irrelevant options):

  • The change followed the style guidelines of the UTBot project
  • Self-review of the code is passed
  • The change contains enough commentaries, particularly in hard-to-understand areas
  • New documentation is provided or existed one is altered
  • No new warnings
  • Tests that prove my change is effective
  • All tests pass locally with my changes

@DamtevDamtev marked this pull request as ready for reviewJune 30, 2022 10:10
Copy link
Member

@CaelmBleiddCaelmBleidd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

LGTM

Copy link
Collaborator

@dtimdtim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Seems good.

@DamtevDamtevforce-pushed thedamtev/inaccessible_fields_npe_checks_setting branch 2 times, most recently frome05263e toaeb2a17CompareJuly 1, 2022 12:44
@Damtev
Copy link
MemberAuthor

As discussed, defining "trusted" libraries was suggested so we do not check NPE for final/non-public fields in them.

@DamtevDamtevforce-pushed thedamtev/inaccessible_fields_npe_checks_setting branch fromaeb2a17 to808db1eCompareJuly 4, 2022 12:53
@DamtevDamtev requested review fromCaelmBleidd anddtimJuly 4, 2022 16:01
@DamtevDamtevforce-pushed thedamtev/inaccessible_fields_npe_checks_setting branch from2f36cf6 to0fcd216CompareJuly 4, 2022 16:10
Copy link
Collaborator

@dtimdtim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

The code looks good, but I think that the default set of trusted libraries should be reduced.

@DamtevDamtevforce-pushed thedamtev/inaccessible_fields_npe_checks_setting branch from0fcd216 toc8bef4dCompareJuly 5, 2022 08:55
@DamtevDamtevenabled auto-merge (squash)July 5, 2022 08:58
Copy link
Collaborator

@dtimdtim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

LGTM

@DamtevDamtevdisabled auto-mergeJuly 5, 2022 09:14
@DamtevDamtevforce-pushed thedamtev/inaccessible_fields_npe_checks_setting branch fromc8bef4d tobe48844CompareJuly 7, 2022 09:17
@DamtevDamtevenabled auto-merge (squash)July 7, 2022 10:17
@DamtevDamtev merged commitfe0f7f8 intomainJul 7, 2022
@DamtevDamtev deleted the damtev/inaccessible_fields_npe_checks_setting branchJuly 7, 2022 11:19
rudolf101 added a commit that referenced this pull requestJul 8, 2022
commit31fbc83Author: Andrey Tarbeev <dinis.taranov@mail.ru>Date:   Fri Jul 8 10:50:52 2022 +0300    Minimize exceptions in signature (#418)    * Minimize exceptions in test methods signaturescommit63eb9b0Author: Yury Kamenev <yurkam447@gmail.com>Date:   Thu Jul 7 15:13:45 2022 +0300    Removed always used coverage-based minimization strategy (#450)commitfe0f7f8Author: Yury Kamenev <yurkam447@gmail.com>Date:   Thu Jul 7 14:19:53 2022 +0300    Disabled NPE checks for non-public library fields by default (#353)commitd1b51feAuthor: Yury Kamenev <yurkam447@gmail.com>Date:   Thu Jul 7 13:44:46 2022 +0300    Fixed NPE for processing static field as first statement in MUT (#433)commitacc2fffAuthor: Nikita Vlaev <nikitavlaev00@gmail.com>Date:   Wed Jul 6 15:37:28 2022 +0300    Added ForceStaticMockListener to run "configure mockito-inline" action.    Refactored url listener in notifications.commit80c2328Author: Nikita Stroganov <54814796+IdeaSeeker@users.noreply.github.com>Date:   Thu Jul 7 11:21:13 2022 +0300    Support -P parameters in the utbot-gradle (#377)commita92e289Author: Sergey Pospelov <sergeypospelov59@gmail.com>Date:   Tue Jul 5 10:29:45 2022 +0300    Fix searching of modifiers field for JDK 8-17commit9a3acb6Author: Amandel Pie <105506115+amandelpie@users.noreply.github.com>Date:   Wed Jul 6 14:16:09 2022 +0300    Disabled clustering of tests generated by Fuzzer (#431)    * Disabled clustering of tests generated by Fuzzer    * Refactored the multiple callscommitc09568fAuthor: Vassiliy Kudryashov <vassiliy.kudryashov@gmail.com>Date:   Wed Jul 6 10:21:52 2022 +0300    Existing test file without test class obstruct generation#160 (#425)commit2ec8fb3Author: Denis Fokin <Denis.Fokin@gmail.com>Date:   Tue Jul 5 16:52:42 2022 +0300    Better namingcommit68c66efAuthor: Vassiliy Kudryashov <vassiliy.kudryashov@gmail.com>Date:   Tue Jul 5 19:51:55 2022 +0300    SVG logo contains 'inaccurate' holes#330 (#411)commit1d48789Author: Dmitrii Timofeev <dtim@comitative.com>Date:   Tue Jul 5 17:08:38 2022 +0300    Workaround: run concrete execution for invokedynamiccommit65d95c1Author: Vassiliy Kudryashov <vassiliy.kudryashov@gmail.com>Date:   Tue Jul 5 19:42:55 2022 +0300    Plugin fails with an exception if no SDK is configured for the test module#399 (#424)commit6f9f2d8Author: Maksim Pelevin <maks.pelevin@gmail.com>Date:   Tue Jul 5 17:49:58 2022 +0300    Fix CNFE: kotlin.collections.ArrayDeque in ContestEstimator (#419)commit67cc7d9Author: Denis Fokin <Denis.Fokin@gmail.com>Date:   Tue Jul 5 11:58:40 2022 +0300    Put concrete executor jar in resources for contest estimatorcommit63e2252Author: Alena Lisevych <37301492+alisevych@users.noreply.github.com>Date:   Tue Jul 5 15:48:29 2022 +0300    Tooltips correction for#343 (#410)    Co-authored-by: Alena Lisevych <>commit8b3defaAuthor: Vassiliy Kudryashov <vassiliy.kudryashov@gmail.com>Date:   Tue Jul 5 13:22:31 2022 +0300    Write access exception on test generating in Idea project with JDK 11#350 (#409)commitc02883cAuthor: Amandel Pie <105506115+amandelpie@users.noreply.github.com>Date:   Tue Jul 5 11:21:21 2022 +0300    Enables 40 tests for utbot-summary module (#389)    * Repair testPow    * Repaired ReturnExampleTest tests    * Restored SummaryCycleTest.kt    * Restored all the testscommit65c07f8Author: Victoria <32179813+victoriafomina@users.noreply.github.com>Date:   Tue Jul 5 09:51:44 2022 +0300    Update Dockerfile_java_cli (#396)commit3b21112Author: Alexey Menshutin <alex.menshutin99@gmail.com>Date:   Mon Jul 4 21:16:53 2022 +0300    ToString support for abstract collection using makeSymbolic#391commitc2673dfAuthor: Vassiliy Kudryashov <vassiliy.kudryashov@gmail.com>Date:   Mon Jul 4 21:56:43 2022 +0300    IDE fatal error during tests generation#68 (#379)commit43693fbAuthor: Nikita Vlaev <vlaev.nikita@huawei.com>Date:   Mon Jul 4 18:59:57 2022 +0300    Bring back test class generation (#403)commit1c01193Author: Yury Kamenev <yurkam447@gmail.com>Date:   Mon Jul 4 20:24:03 2022 +0300    Added the wrapper for static methods of java.util.List (#400)commita805f31Author: Nikita Vlaev <vlaev.nikita@huawei.com>Date:   Fri Jul 1 20:16:28 2022 +0300    Add title pane with unsupported jdk notification (#373)commit16c13fbAuthor: Dmitrii Timofeev <dtim@comitative.com>Date:   Mon Jul 4 18:35:36 2022 +0300    Initiate concrete execution if a wrapper method is missing (#392)    If a JVM class is overridden but a method is missing from the wrapper,    the engine will discard the path and fall back to concrete execution    instead of analysing the real JVM code graph.    This approach fixes the problem with methods that have been introduced    in newer JDKs. Now wrappers are mostly limited to Java 1.8 interfaces    and fail to analyze methods like `String::isBlank` or `String::lines`    when the code runs under JDK 11. Building graphs from the real JDK code    fails because the wrapper does not have private fields that the original    code uses.    TODO: to allow symbolic analysis of the code, missing methods should be    actually implemented in corresponding wrappers.
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@dtimdtimdtim approved these changes

@CaelmBleiddCaelmBleiddCaelmBleidd approved these changes

Assignees

No one assigned

Labels

None yet

Projects

Archived in project

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Disable NPE checks for non-public library fields

4 participants

@Damtev@dtim@CaelmBleidd

[8]ページ先頭

©2009-2025 Movatter.jp