Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Refactor: move ExecutionState.kt to package
  • Loading branch information
sergeypospelov committed Nov 2, 2022
commit 9af32d139fd4c4f1298f81aa61c9095bf5d94fac
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.utbot.features

import org.utbot.analytics.FeatureExtractor
import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.InterProceduralUnitGraph
import org.utbot.engine.selectors.strategies.StatementsStatistics
import org.utbot.engine.selectors.strategies.SubpathStatistics
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package org.utbot.features

import org.utbot.analytics.EngineAnalyticsContext
import org.utbot.analytics.FeatureProcessor
import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.InterProceduralUnitGraph
import org.utbot.framework.UtSettings
import soot.jimple.Stmt
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.analytics

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState

/**
* Class that encapsulates work with FeatureExtractor during symbolic execution.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import org.utbot.engine.pc.UtIsExpression
import org.utbot.engine.pc.UtTrue
import org.utbot.engine.pc.mkAnd
import org.utbot.engine.pc.mkOr
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.symbolic.*
import org.utbot.engine.types.TypeResolver
import org.utbot.framework.plugin.api.FieldId
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import org.utbot.engine.pc.mkInt
import org.utbot.engine.pc.mkLong
import org.utbot.engine.pc.mkShort
import org.utbot.engine.pc.toSort
import org.utbot.engine.state.ExecutionState
import org.utbot.framework.UtSettings.checkNpeInNestedMethods
import org.utbot.framework.UtSettings.checkNpeInNestedNotPrivateMethods
import org.utbot.framework.plugin.api.FieldId
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package org.utbot.engine

import org.utbot.engine.selectors.strategies.TraverseGraphStatistics
import org.utbot.engine.state.CALL_DECISION_NUM
import org.utbot.engine.state.Edge
import org.utbot.engine.state.ExecutionState
import soot.SootClass
import soot.SootMethod
import soot.jimple.Stmt
Expand Down
22 changes: 0 additions & 22 deletions utbot-framework/src/main/kotlin/org/utbot/engine/Memory.kt
Original file line number Diff line number Diff line change
Expand Up @@ -49,28 +49,6 @@ import soot.Scene
import soot.Type


/**
* Represents a memory associated with a certain method call. For now consists only of local variables mapping.
* TODO: think on other fields later
*
* @param [locals] represents a mapping from [LocalVariable]s of a specific method call to [SymbolicValue]s.
*/
data class LocalVariableMemory(
private val locals: PersistentMap<LocalVariable, SymbolicValue> = persistentHashMapOf()
) {
fun memoryForNestedMethod(): LocalVariableMemory = this.copy(locals = persistentHashMapOf())

fun update(update: LocalMemoryUpdate): LocalVariableMemory = this.copy(locals = locals.update(update.locals))

/**
* Returns local variable value.
*/
fun local(variable: LocalVariable): SymbolicValue? = locals[variable]

val localValues: Set<SymbolicValue>
get() = locals.values.toSet()
}

/**
* Local memory implementation based on arrays.
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package org.utbot.engine

import org.utbot.engine.state.ExecutionState

/**
* Represents a mutable _Context_ during the [ExecutionState] traversing. This _Context_ consists of all mutable and
* immutable properties and fields which are created and updated during analysis of a **single** Jimple instruction.
Expand Down
9 changes: 9 additions & 0 deletions utbot-framework/src/main/kotlin/org/utbot/engine/Traverser.kt
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,15 @@ import org.utbot.engine.pc.mkNot
import org.utbot.engine.pc.mkOr
import org.utbot.engine.pc.select
import org.utbot.engine.pc.store
import org.utbot.engine.state.Edge
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.state.LocalVariableMemory
import org.utbot.engine.state.StateLabel
import org.utbot.engine.state.createExceptionState
import org.utbot.engine.state.pop
import org.utbot.engine.state.push
import org.utbot.engine.state.update
import org.utbot.engine.state.withLabel
import org.utbot.engine.symbolic.emptyAssumption
import org.utbot.engine.symbolic.emptyHardConstraint
import org.utbot.engine.symbolic.emptySoftConstraint
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,9 @@ import kotlinx.coroutines.flow.onStart
import kotlinx.coroutines.isActive
import kotlinx.coroutines.job
import kotlinx.coroutines.yield
import org.utbot.engine.state.ExecutionStackElement
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.state.StateLabel
import org.utbot.engine.types.TypeRegistry
import org.utbot.engine.types.TypeResolver
import org.utbot.framework.plugin.api.UtExecutionSuccess
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.strategies.ChoosingStrategy
import org.utbot.engine.selectors.strategies.StoppingStrategy

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.isPreconditionCheckMethod
import org.utbot.engine.pathLogger
import org.utbot.engine.pc.UtSolver
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.strategies.ChoosingStrategy
import org.utbot.engine.selectors.strategies.StoppingStrategy

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState

/**
* Retrieves states from different pathSelectors in rotation.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package org.utbot.engine.selectors

import org.utbot.analytics.EngineAnalyticsContext
import org.utbot.analytics.Predictors
import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.InterProceduralUnitGraph
import org.utbot.engine.selectors.nurs.GreedySearch
import org.utbot.engine.selectors.strategies.ChoosingStrategy
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.pc.UtSolverStatusKind

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import java.util.NoSuchElementException
import kotlin.random.Random

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.strategies.ChoosingStrategy
import org.utbot.engine.selectors.strategies.StoppingStrategy
import kotlin.random.Random
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.strategies.ChoosingStrategy
import org.utbot.engine.selectors.strategies.StoppingStrategy
import kotlin.random.Random
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.nurs

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.strategies.ChoosingStrategy
import org.utbot.engine.selectors.strategies.StatementsStatistics
import org.utbot.engine.selectors.strategies.StoppingStrategy
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.nurs

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.strategies.DistanceStatistics
import org.utbot.engine.selectors.strategies.StoppingStrategy

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.nurs

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.strategies.ChoosingStrategy
import org.utbot.engine.selectors.strategies.StoppingStrategy

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.nurs

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.strategies.ChoosingStrategy
import org.utbot.engine.selectors.strategies.StoppingStrategy

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.nurs

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.BasePathSelector
import org.utbot.engine.selectors.strategies.ChoosingStrategy
import org.utbot.engine.selectors.strategies.StoppingStrategy
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.nurs

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.types.TypeRegistry
import org.utbot.engine.selectors.strategies.DistanceStatistics
import org.utbot.engine.selectors.strategies.StoppingStrategy
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.nurs

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.strategies.DistanceStatistics
import org.utbot.engine.selectors.strategies.StoppingStrategy

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.utbot.engine.selectors.nurs

import org.utbot.analytics.Predictors
import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.strategies.ChoosingStrategy
import org.utbot.engine.selectors.strategies.StoppingStrategy

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.nurs

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.BasePathSelector
import org.utbot.engine.selectors.strategies.ChoosingStrategy
import org.utbot.engine.selectors.strategies.StoppingStrategy
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.nurs

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.strategies.ChoosingStrategy
import org.utbot.engine.selectors.strategies.StoppingStrategy
import kotlin.math.pow
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.nurs

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.strategies.ChoosingStrategy
import org.utbot.engine.selectors.strategies.StoppingStrategy
import org.utbot.engine.selectors.strategies.SubpathStatistics
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.nurs

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.selectors.strategies.EdgeVisitCountingStatistics
import org.utbot.engine.selectors.strategies.StoppingStrategy

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.strategies

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.InterProceduralUnitGraph

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.utbot.engine.selectors.strategies

import org.utbot.engine.Edge
import org.utbot.engine.ExecutionState
import org.utbot.engine.state.Edge
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.InterProceduralUnitGraph
import org.utbot.engine.isReturn
import org.utbot.engine.pathLogger
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.utbot.engine.selectors.strategies

import org.utbot.engine.Edge
import org.utbot.engine.ExecutionState
import org.utbot.engine.state.Edge
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.InterProceduralUnitGraph
import org.utbot.engine.pathLogger
import org.utbot.framework.UtSettings.enableLoggingForDroppedStates
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.strategies

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.InterProceduralUnitGraph

class GeneratedTestCountingStatistics(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package org.utbot.engine.selectors.strategies

import mu.KotlinLogging
import org.utbot.common.FileUtil.createNewFileWithParentDirectories
import org.utbot.engine.CALL_DECISION_NUM
import org.utbot.engine.Edge
import org.utbot.engine.ExecutionState
import org.utbot.engine.state.CALL_DECISION_NUM
import org.utbot.engine.state.Edge
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.InterProceduralUnitGraph
import org.utbot.engine.isLibraryNonOverriddenClass
import org.utbot.engine.isReturn
Expand All @@ -17,7 +17,6 @@ import soot.toolkits.graph.ExceptionalUnitGraph
import java.awt.Toolkit
import java.awt.datatransfer.StringSelection
import java.io.FileWriter
import java.nio.file.Files
import java.nio.file.Paths
import org.utbot.common.FileUtil

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.utbot.engine.selectors.strategies

import org.utbot.engine.ExecutionState
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.InterProceduralUnitGraph
import soot.SootMethod
import soot.jimple.Stmt
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.utbot.engine.selectors.strategies

import org.utbot.engine.Edge
import org.utbot.engine.ExecutionState
import org.utbot.engine.state.Edge
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.InterProceduralUnitGraph
import org.utbot.engine.pathLogger

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package org.utbot.engine.selectors.strategies

import org.utbot.engine.CALL_DECISION_NUM
import org.utbot.engine.Edge
import org.utbot.engine.ExecutionState
import org.utbot.engine.state.CALL_DECISION_NUM
import org.utbot.engine.state.Edge
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.InterProceduralUnitGraph
import org.utbot.framework.UtSettings
import kotlin.math.pow
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.utbot.engine.selectors.strategies

import org.utbot.engine.Edge
import org.utbot.engine.ExecutionState
import org.utbot.engine.state.Edge
import org.utbot.engine.state.ExecutionState
import org.utbot.engine.InterProceduralUnitGraph
import soot.jimple.Stmt
import soot.toolkits.graph.ExceptionalUnitGraph
Expand Down
Loading