GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — USVM to UtBot adapters without contest hacks by IlyaMuravjov · Pull Request #2710 · UnitTestBot/UTBotJava

Conversation

@IlyaMuravjov

@IlyaMuravjov IlyaMuravjov commented Dec 6, 2023

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.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
IlyaMuravjov and others added 30 commits November 1, 2023 14:21
@IlyaMuravjov @EgorkaKulikov
Introduce Tool.USVM in ContestEstimator, implement `runUsvmGenera…
fc570ea
…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`
@IlyaMuravjov
Bump ksmt version to 0.5.13
79cf54b
@EgorkaKulikov
Hacks similar to contest 2023 ones (#2676)
d5cdd8a
@EgorkaKulikov @IlyaMuravjov
Initial implementations of the adapter from JcExecution to UtExecution (
092a27a
#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 <[email protected]>
@EgorkaKulikov
Supporting arrays classId in Contests (#2680)
31dd74d
* Try to get classId from arrays with JacoDb

* Fix a bug

* Add primitive arrays to a list
@EgorkaKulikov @IlyaMuravjov
Very simple UtAssembleModel improver (#2678)
b2cb044
* 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 <[email protected]>
@tepa46
Fix class name argument in the setField method (#2681)
3400a96
Fix setField class name argument
@IlyaMuravjov
Fix test generation for nested classes (#2684)
a11c3e9
@IlyaMuravjov
Improver UTestRunner initialization and shutdown (#2683)
2788630
@tepa46
Add summarization for usvm-sbft (#2682)
62aa5b0
* Add summarization for usvm-sbft

* Add summary setting to the setOption method and do small refactoring
@EgorkaKulikov
Use usvm samples instead of UtBot ones (#2685)
0a9003d
@tepa46
Fix fieldId creation for UtCompositeModel (#2686)
b40f0f3
@EgorkaKulikov
A tempopary hack for void TypeName processing
629983c
@EgorkaKulikov
A proper solution for void TypeName processing
1d974f7
@EgorkaKulikov
Add all arrays as test classes for converters
2b6ff89
@EgorkaKulikov
Add samples from types
5b0e8dd
@EgorkaKulikov
Add samples from ternary
f38dae0
@tepa46
Add processing of usvmExistingButNullString (#2689)
3080413
add processing of existingButNullString
@EgorkaKulikov @IlyaMuravjov
Fix classloader problem and correct class lists (exclude missing clas…
26d9901
…ses & classes compiled with Java 17)
@IlyaMuravjov
Include usvm via GitHub packages (#2687)
8904585
* Include usvm via GitHub packages

* Improve gradle script for utbot-junit-contest
@EgorkaKulikov
Upgrade usvm version
9869eb0
@EgorkaKulikov
Add invokes into samples
1362ac7
@EgorkaKulikov
Add several new classes to samples - Yuri said that it is enough
c365a7a
@tepa46
Fix enum converter and add sample from enums
7429dc9
@EgorkaKulikov
Remove non-relevant TODO
9bb144a
@IlyaMuravjov
Improve UTestValueDescriptor to UtModel conversion and state chan…
6e6c378
…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`
@EgorkaKulikov
Update usvm version
5084e02
@IlyaMuravjov
Fix constructConstArrayModelMapper for empty arrays
ae1cdcf
@EgorkaKulikov
Remove non-relevant TODO
b74f3c8
@IlyaMuravjov
Use jacodb with classpathWithApproximations
5429647
IlyaMuravjov added 2 commits December 6, 2023 19:33
@IlyaMuravjov
Revert contest hacks
d18ff85
@IlyaMuravjov
Make contest use Tool.UtBot by default
aa86d55
@IlyaMuravjov IlyaMuravjov added ctg-enhancement New feature, improvement or change request comp-contest-estimator Issue is related to contest estimator labels Dec 6, 2023
@IlyaMuravjov
IlyaMuravjov requested a review from EgorkaKulikov December 6, 2023 16:52
tepa46 and others added 19 commits December 7, 2023 11:34
@tepa46
Update tool settings for summary
79d5daa
@EgorkaKulikov
Update gradle properties in yml scripts
d14032a
@EgorkaKulikov
Temporary creds
6bdd3c9
@EgorkaKulikov
Revert temporary creds
9689766
@EgorkaKulikov
Some todos in TestFrameworkManager
6226fbb
Egor Vasiliev 00665613
bissquit: configure debug env
17dc5d9
Egor Vasiliev 00665613
Merge branch 'usvm' of https://github.com/UnitTestBot/UTBotJava into …
806127d
…usvm
Egor Vasiliev 00665613
add pers token
2b88b44
Egor Vasiliev 00665613
add secret
e7b912a
Egor Vasiliev 00665613
add token to all gradle runs
e97e076
Egor Vasiliev 00665613
replace ro_token by github_token
844554d
Egor Vasiliev 00665613
add permissions
9f70211
Egor Vasiliev 00665613
change to write permissions
3c45e8c
Egor Vasiliev 00665613
return PACKAGES_RO_TOKEN var
6f9a8b2
Egor Vasiliev 00665613
remove debug
fce45b3
@EgorkaKulikov
Further update of yml scripts
5f9403b
@EgorkaKulikov
Merge branch 'usvm' of https://github.com/UnitTestBot/UTBotJava into …
e5d3549
…usvm
@EgorkaKulikov
Correct usvm version to fix compilation
fe8a753
@EgorkaKulikov
Disable four tests
e896a30
@EgorkaKulikov
EgorkaKulikov force-pushed the usvm branch from 73724f1 to e896a30 Compare December 8, 2023 14:44
EgorkaKulikov
EgorkaKulikov approved these changes Dec 8, 2023
View reviewed changes
@EgorkaKulikov
EgorkaKulikov merged commit deedfc7 into main Dec 8, 2023
@EgorkaKulikov
EgorkaKulikov deleted the usvm branch December 8, 2023 15:21
This was referenced Dec 12, 2023
Limit number of unknown coverage executions #2627
Closed
There are 50+ false positive identical tests on NoClassDefFoundError not minimized #2622
Closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@EgorkaKulikov EgorkaKulikov EgorkaKulikov approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

comp-contest-estimator Issue is related to contest estimator ctg-enhancement New feature, improvement or change request

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

6 participants

@IlyaMuravjov @EgorkaKulikov @tepa46 @Damtev @Saloed @sergeypospelov
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.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.