- 
                Notifications
    You must be signed in to change notification settings 
- Fork 45
Сonstraint model synthesis #1030
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
          
     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 hidden or 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
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