-
Couldn't load subscription status.
- Fork 45
Сonstraint model synthesis #966
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 #966
Conversation
# Conflicts: # utbot-cli/src/main/kotlin/org/utbot/cli/GenerateTestsAbstractCommand.kt # utbot-framework-api/src/main/kotlin/org/utbot/framework/UtSettings.kt # utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/Api.kt # utbot-framework/src/main/kotlin/org/utbot/engine/Resolver.kt # utbot-framework/src/main/kotlin/org/utbot/engine/UtBotSymbolicEngine.kt # utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/TestCaseGenerator.kt # utbot-junit-contest/src/main/kotlin/org/utbot/contest/Contest.kt # utbot-summary/src/main/kotlin/org/utbot/summary/ast/JimpleToASTMap.kt
# Conflicts: # utbot-framework-api/src/main/kotlin/org/utbot/framework/UtSettings.kt # utbot-framework-test/src/test/kotlin/org/utbot/framework/assemble/AssembleModelGeneratorTests.kt # utbot-framework/src/main/kotlin/org/utbot/engine/UtBotSymbolicEngine.kt # utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/TestCaseGenerator.kt
# Conflicts: # utbot-framework-api/src/main/kotlin/org/utbot/framework/UtSettings.kt # utbot-framework-test/src/test/kotlin/org/utbot/framework/assemble/AssembleModelGeneratorTests.kt # utbot-framework/src/main/kotlin/org/utbot/engine/UtBotSymbolicEngine.kt # utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/TestCaseGenerator.kt
|
Currently only |
|
I will take a superficial review this week. You also ought to rebase on master. |
# Conflicts: # utbot-framework-test/src/test/kotlin/org/utbot/framework/assemble/AssembleModelGeneratorTests.kt # utbot-framework/src/main/kotlin/org/utbot/engine/Resolver.kt # utbot-framework/src/main/kotlin/org/utbot/engine/Traverser.kt # utbot-framework/src/main/kotlin/org/utbot/engine/UtBotSymbolicEngine.kt # utbot-framework/src/main/kotlin/org/utbot/external/api/UtModelFactory.kt # utbot-framework/src/main/kotlin/org/utbot/framework/assemble/AssembleModelGenerator.kt # utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/tree/CgMethodConstructor.kt # utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/tree/CgVariableConstructor.kt # utbot-framework/src/main/kotlin/org/utbot/framework/concrete/UtExecutionInstrumentation.kt # utbot-framework/src/main/kotlin/org/utbot/framework/minimization/Minimization.kt # utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/TestCaseGenerator.kt # utbot-framework/src/main/kotlin/org/utbot/tests/infrastructure/TestSpecificTestCaseGenerator.kt
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.
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
SynthesisExamplesTestwas added.Manual Scenario
Example class
org.utbot.examples.synthesis.SynthesisExampleswas added to theutbot-samplemodule. Running UtBot on the methods from that class withUtSettings.enableSynthesisset totrueshould 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