Skip to content

USVM to UtBot adapters without contest hacks - #2710

Merged
EgorkaKulikov merged 123 commits into
mainfrom
usvm
Dec 8, 2023
Merged

USVM to UtBot adapters without contest hacks#2710
EgorkaKulikov merged 123 commits into
mainfrom
usvm

Conversation

@IlyaMuravjov

Copy link
Copy Markdown
Collaborator

Description

  1. Adapters from USVM output to UtBot codegen input are added
  2. New Tool.USVM is introduced in ContestEstimator (set val mainTool = Tool.USVM to use it)

How to test

Automated tests

Regression tests should pass, nightly statistics monitoring should continue working.

Manual tests

  1. Use Java 17
  2. Configure val mainTool = Tool.USVM in ContestEstimator
  3. Run :utbot-junit-contest:run task (some USVM warnings/errors can get logged)
  4. There should be tests generated by USVM in UTBotJava/utbot-junit-contest/build/output/test

Self-check list

  • I've set the proper labels for my PR (at least, for category and component).
  • PR title and description are clear and intelligible.
  • I've added enough comments to my code, particularly in hard-to-understand areas.
  • The functionality I've repaired, changed or added is covered with automated tests.
  • Manual tests have been provided optionally.
  • The documentation for the functionality I've been working on is up-to-date.

IlyaMuravjovand others added 30 commits November 1, 2023 14:21
…tion` (#2666)
* Add `Tool.USVM` in `ContestEstimator`, implement `runUsvmGeneration`
* Remove redundant TODO
* Bump UtBot dependencies version to match USVM dependencies
* Use `UTestExecutionResult.trace` instead of `JcCoverage`
#2677)
* Some awful attempts
* Initially implemented a converter of UTestInst to UtModel
* Refactor JcToUtModelConverter basing on UTestInst2UtModel converter
* Some steps to implement JcToUtExecutionConverter
* Implement minimalistic jc to ut execution conversion, enable codegen
* Some improvements
* DeepMapper for models is used
* Corrections
* Some improvements to JcToUtModelConverter
* Further improvements to JcToUtModelConverter
* Another converter little improvement
* Improve `UtExecutionFailure` creation
* Finish implementing `JcToUtModelConverter`
* Refactor nullability in `JcToUtModelConverter` and `JcToUtExecutionConverter`
* First version of JC to UT converters without overusing `Descriptor2ValueConverter`
* Processed forgotten call method expression
* Make conversion more class-friendly (do not fail if one method cause failure)
* Make it possible to use samples in ContestEstimator
* Tested on all primitives
* contrflow tests added
* More test classes added
* Add `build/output/test/samples` to `utbot-junit-contest` test projects
* Steps to avoid duplicating statements
* Make it working correct on IntExamples.max
* Remove OptimizeImportsProcessor (seems it was not called, but a source of bugs)
* Process UTestStaticMethodCall
* Comment out includes for IDE related projects in `settings.gradle.kts`
* Avoid using burningwave to export modules on Java 8
* Fix review comments
* Fix review comments
---------
Co-authored-by: IlyaMuravjov <muravjovilya@gmail.com>
* Try to get classId from arrays with JacoDb
* Fix a bug
* Add primitive arrays to a list
* Very simple UtAssembleModel improver
* Use `IdentityHashMap`-based cache when mapping `UtModel`s
* Improve checks for `UtAssembleModel`s created with `createInstance` method
---------
Co-authored-by: IlyaMuravjov <muravjovilya@gmail.com>
* Add summarization for usvm-sbft
* Add summary setting to the setOption method and do small refactoring
add processing of existingButNullString
* Include usvm via GitHub packages
* Improve gradle script for utbot-junit-contest
…ge asserts generation (#2691)
* Fix compilation after USVM update (jvm-instrumentation-persistent-descriptors)
* Make `JcToUtModelConverter` construct `UtCompositeModel.origin` and assign same id to `stateBefore` and `stateAfter` models that describe same object
* Adapt `ExecutionStateAnalyzer` to deal with absence of `refId` in USVM descriptors for classes, enums, and throwables
* Adapt `ExecutionStateAnalyzer` to deal with `UtAssembleModel`s with `origin`
* Replace `UtAssembleModel`s that only use reflection with `UtCompositeModel`s, improve `constModel` for `UtArrayModel`
@IlyaMuravjovIlyaMuravjov added ctg-enhancement New feature, improvement or change request comp-contest-estimator Issue is related to contest estimator labels Dec 6, 2023
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp-contest-estimatorIssue is related to contest estimatorctg-enhancementNew feature, improvement or change request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@IlyaMuravjov@EgorkaKulikov@tepa46@Damtev@Saloed@sergeypospelov