-
Notifications
You must be signed in to change notification settings - Fork 45
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Сonstraint model synthesis #1030
Open
AbdullinAM
wants to merge
59
commits into
UnitTestBot:main
Choose a base branch
from
AbdullinAM:abdullin/constraint-model-synthesis-squashed
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Сonstraint model synthesis #1030
AbdullinAM
wants to merge
59
commits into
UnitTestBot:main
from
AbdullinAM:abdullin/constraint-model-synthesis-squashed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tagging @sergeypospelov to ensure that you will see the new PR |
…nitTestBot#871) * Fixed repeated `hashCode` calculation for `Edge` * Added `toArray` without ClassCastException check API * Fixed UNSAT core debug logging
* Avoid summary duplication UnitTestBot#985 * Fix rendering for 2022.1.4
* Reordered the test clusters * Renamed clusters * Fixed tests * Fixed tests Co-authored-by: Zarina Kurbatova <zarina.kurbatova@gmail.com>
Render links in invokes part of JavaDocs
UnitTestBot#1047) IndexNotReadyException thrown in IDEA with installed UnitTestBot plugin UnitTestBot#273 1) Add dumb mode wrapping 2) Split long EDT consumers into chains-of-invokeLater 3) Disable IntentionHelper for a while (it causes tricky exceptions and hanging)
…icatorsSearcher corrected (UnitTestBot#1029) * Improve modificators analysis in UtBotFieldModificatorsSearcher and AssembleModelGenerator * Apply review comments * Fixed test * One more correction for package names
* Try to fix memory leak in CgFieldStateManager * Removed unused testClassConstructors * Make CgContext much more thin * Clear content related maps before the processing of new test class
In case of repeating SourceFolders action would not be shown. From now it takes first SourceFolder with the same virtual file source root
…t#1084) Include information about triggered recursion to javadocs
* Fix rendering for different IDE versions * add info about IDE version for each case
[utbot-rd] 1. engine out-of-process 2. removed jdk8+ api calls in engine-related code 3. removed reflection in utbot-intellij to support idea 2022 4. bumped idea version and plugin sdk 5. reactive settings 6. ClientProcessBuilder to support out-of-process 7. moved sarifs, test generation, code generation and TestGenerationReport to another process
…t private (UnitTestBot#1106) * Wrap method reference into @link tag only if the invoked method is not private * Fix tests
… editor (UnitTestBot#1105) * Notify and reason to the user that UtBot can't be run on the edited class * Improve previous implementation
1. added ability to set log level for EngineProcess and ChildProcess.kt. Look for related UtSettings.engineProcessLogLevel and UtSettings.childProcessLogLevels 2. opening additional packages to support jdk17+, see OpenModulesContainer 3. fixed using javaw on unix environments 4. fixed using readaction in dumb mode
…stBot#1065) * Lessen thisInstance creation in parameterized test generation * Avoid incorrect configuration Co-authored-by: Egor Kulikov <egor.k.kulikov@gmail.com>
UnitTestBot#1116) Fix settings persistence: we save IDs, thus we should parse IDs instead of display names
* Enable android support in kts * Get rid of AS. Use the path only * Better naming * Corrected comment * Commented Android Studio for other users Co-authored-by: Denis Fokin <Denis.Fokin@gmail.com>
[utbot-rd] fixing ubuntu process start and log creating
…t#1131) Android Studio troubleshooting related to Lombok improved.
* Add parameterized test generation in ci * Little style corrections * Move *containsMocking* flag to UtSymbolicExecution Co-authored-by: Egor Kulikov <egor.k.kulikov@gmail.com>
…stBot#1069) * Added an initial solution * Added a method and class references * Refactor to avoid bugs with private methods * Handled empty values * Fixed tests and add a TODO ticket * Fixed review comments
* Used real variable type after field access with reflection if possible * Added missing line separator after single-line block comment * Added missed initial field states for arrays * Removed field state assertions for failing tests
* [utbot-rd] more logs, dump mode fixes * Pathseparator fix, removed useless scheduler
* [utbot-rd] fixing long delays in summarization, fixing sarif reports resource root creation, fixing kryo serialization error, fixing idea thread relating problems * [utbot-rd] compilation fix
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Constrained model synthesis prototype. It tries to generate UtAssembleModel that creates an object using it's public API for each argument of the method under test.
This is a new PR for constraint model synthesis with the rebase to master (it was easier to create a new branch than to resolve all the conflicts from the old one). I closed the old PR #966
Type of Change
New feature (non-breaking change which adds functionality)
How Has This Been Tested?
Automated Testing
Feature was tested on open-source projects: exp4j, guava, fastjson, etc.
Also
SynthesisExamplesTest
was added.Manual Scenario
Example class
org.utbot.examples.synthesis.SynthesisExamples
was added to theutbot-sample
module. Running UtBot on the methods from that class withUtSettings.enableSynthesis
set totrue
should show several scenarios of how constrained model synthesis allows to generate test cases that use public API of the objectsChecklist (remove irrelevant options):
This is the author self-check list