Skip to content

Commit 36cf096

Browse files
Refactor: move ExecutionState.kt to state/ExecutionState.kt
1 parent f480c7a commit 36cf096

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+286
-240
lines changed

utbot-analytics/src/main/kotlin/org/utbot/features/FeatureExtractorImpl.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.utbot.features
22

33
import org.utbot.analytics.FeatureExtractor
4-
import org.utbot.engine.ExecutionState
4+
import org.utbot.engine.state.ExecutionState
55
import org.utbot.engine.InterProceduralUnitGraph
66
import org.utbot.engine.selectors.strategies.StatementsStatistics
77
import org.utbot.engine.selectors.strategies.SubpathStatistics

utbot-analytics/src/main/kotlin/org/utbot/features/FeatureProcessorWithStatesRepetition.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.utbot.features
22

33
import org.utbot.analytics.EngineAnalyticsContext
44
import org.utbot.analytics.FeatureProcessor
5-
import org.utbot.engine.ExecutionState
5+
import org.utbot.engine.state.ExecutionState
66
import org.utbot.engine.InterProceduralUnitGraph
77
import org.utbot.framework.UtSettings
88
import soot.jimple.Stmt

utbot-framework/src/main/kotlin/org/utbot/analytics/FeatureExtractor.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.analytics
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44

55
/**
66
* Class that encapsulates work with FeatureExtractor during symbolic execution.

utbot-framework/src/main/kotlin/org/utbot/engine/DataClasses.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ import org.utbot.engine.pc.UtIsExpression
1111
import org.utbot.engine.pc.UtTrue
1212
import org.utbot.engine.pc.mkAnd
1313
import org.utbot.engine.pc.mkOr
14+
import org.utbot.engine.state.ExecutionState
1415
import org.utbot.engine.symbolic.*
1516
import org.utbot.engine.types.TypeResolver
1617
import org.utbot.framework.plugin.api.FieldId
1718
import org.utbot.framework.plugin.api.UtInstrumentation
18-
import soot.RefType
1919
import java.util.Objects
2020
import soot.Scene
2121
import soot.SootMethod
@@ -160,8 +160,6 @@ data class MethodResult(
160160
val symbolicResult: SymbolicResult,
161161
val symbolicStateUpdate: SymbolicStateUpdate = SymbolicStateUpdate()
162162
) : InvokeResult() {
163-
val memoryUpdates by symbolicStateUpdate::memoryUpdates
164-
165163
constructor(
166164
symbolicResult: SymbolicResult,
167165
hardConstraints: HardConstraint = emptyHardConstraint(),

utbot-framework/src/main/kotlin/org/utbot/engine/Extensions.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import org.utbot.engine.pc.mkInt
2929
import org.utbot.engine.pc.mkLong
3030
import org.utbot.engine.pc.mkShort
3131
import org.utbot.engine.pc.toSort
32+
import org.utbot.engine.state.ExecutionState
3233
import org.utbot.framework.UtSettings.checkNpeInNestedMethods
3334
import org.utbot.framework.UtSettings.checkNpeInNestedNotPrivateMethods
3435
import org.utbot.framework.plugin.api.FieldId

utbot-framework/src/main/kotlin/org/utbot/engine/InterProceduralUnitGraph.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package org.utbot.engine
22

33
import org.utbot.engine.selectors.strategies.TraverseGraphStatistics
4+
import org.utbot.engine.state.CALL_DECISION_NUM
5+
import org.utbot.engine.state.Edge
6+
import org.utbot.engine.state.ExecutionState
47
import soot.SootClass
58
import soot.SootMethod
69
import soot.jimple.Stmt

utbot-framework/src/main/kotlin/org/utbot/engine/Memory.kt

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -49,28 +49,6 @@ import soot.Scene
4949
import soot.Type
5050

5151

52-
/**
53-
* Represents a memory associated with a certain method call. For now consists only of local variables mapping.
54-
* TODO: think on other fields later
55-
*
56-
* @param [locals] represents a mapping from [LocalVariable]s of a specific method call to [SymbolicValue]s.
57-
*/
58-
data class LocalVariableMemory(
59-
private val locals: PersistentMap<LocalVariable, SymbolicValue> = persistentHashMapOf()
60-
) {
61-
fun memoryForNestedMethod(): LocalVariableMemory = this.copy(locals = persistentHashMapOf())
62-
63-
fun update(update: LocalMemoryUpdate): LocalVariableMemory = this.copy(locals = locals.update(update.locals))
64-
65-
/**
66-
* Returns local variable value.
67-
*/
68-
fun local(variable: LocalVariable): SymbolicValue? = locals[variable]
69-
70-
val localValues: Set<SymbolicValue>
71-
get() = locals.values.toSet()
72-
}
73-
7452
/**
7553
* Local memory implementation based on arrays.
7654
*
@@ -452,7 +430,7 @@ fun simplifiedNamedStore(
452430
/**
453431
* Updates persistent map where value = null in update means deletion of original key-value
454432
*/
455-
private fun <K, V> PersistentMap<K, V>.update(update: Map<K, V?>): PersistentMap<K, V> {
433+
fun <K, V> PersistentMap<K, V>.update(update: Map<K, V?>): PersistentMap<K, V> {
456434
if (update.isEmpty()) return this
457435
val deletions = mutableListOf<K>()
458436
val updates = mutableMapOf<K, V>()

utbot-framework/src/main/kotlin/org/utbot/engine/TraversalContext.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package org.utbot.engine
22

3+
import org.utbot.engine.state.ExecutionState
4+
35
/**
46
* Represents a mutable _Context_ during the [ExecutionState] traversing. This _Context_ consists of all mutable and
57
* immutable properties and fields which are created and updated during analysis of a **single** Jimple instruction.

utbot-framework/src/main/kotlin/org/utbot/engine/Traverser.kt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,15 @@ import org.utbot.engine.pc.mkNot
6666
import org.utbot.engine.pc.mkOr
6767
import org.utbot.engine.pc.select
6868
import org.utbot.engine.pc.store
69+
import org.utbot.engine.state.Edge
70+
import org.utbot.engine.state.ExecutionState
71+
import org.utbot.engine.state.LocalVariableMemory
72+
import org.utbot.engine.state.StateLabel
73+
import org.utbot.engine.state.createExceptionState
74+
import org.utbot.engine.state.pop
75+
import org.utbot.engine.state.push
76+
import org.utbot.engine.state.update
77+
import org.utbot.engine.state.withLabel
6978
import org.utbot.engine.symbolic.emptyAssumption
7079
import org.utbot.engine.symbolic.emptyHardConstraint
7180
import org.utbot.engine.symbolic.emptySoftConstraint
@@ -203,8 +212,6 @@ import java.lang.reflect.GenericArrayType
203212
import java.lang.reflect.TypeVariable
204213
import java.lang.reflect.WildcardType
205214
import java.util.concurrent.atomic.AtomicInteger
206-
import kotlin.reflect.full.instanceParameter
207-
import kotlin.reflect.jvm.javaType
208215

209216
private val CAUGHT_EXCEPTION = LocalVariable("@caughtexception")
210217

@@ -673,7 +680,7 @@ class Traverser(
673680
}
674681

675682
private fun isStaticInstanceInMethodResult(id: ClassId, methodResult: MethodResult?) =
676-
methodResult != null && id in methodResult.memoryUpdates.staticInstanceStorage
683+
methodResult != null && id in methodResult.symbolicStateUpdate.memoryUpdates.staticInstanceStorage
677684

678685
private fun TraversalContext.skipVerticesForThrowableCreation(current: JAssignStmt) {
679686
val rightType = current.rightOp.type as RefType
@@ -2350,7 +2357,7 @@ class Traverser(
23502357
MethodResult(
23512358
mockValue,
23522359
hardConstraints = additionalConstraint.asHardConstraint(),
2353-
memoryUpdates = if (isInternalMock) MemoryUpdate() else mockMethodResult.memoryUpdates
2360+
memoryUpdates = if (isInternalMock) MemoryUpdate() else mockMethodResult.symbolicStateUpdate.memoryUpdates
23542361
)
23552362
)
23562363
}

utbot-framework/src/main/kotlin/org/utbot/engine/UtBotSymbolicEngine.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ import kotlinx.coroutines.flow.onStart
101101
import kotlinx.coroutines.isActive
102102
import kotlinx.coroutines.job
103103
import kotlinx.coroutines.yield
104+
import org.utbot.engine.state.ExecutionStackElement
105+
import org.utbot.engine.state.ExecutionState
106+
import org.utbot.engine.state.StateLabel
104107
import org.utbot.engine.types.TypeRegistry
105108
import org.utbot.engine.types.TypeResolver
106109
import org.utbot.common.statistics.IndicatorStorage

utbot-framework/src/main/kotlin/org/utbot/engine/indicators/Indicators.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.utbot.engine.indicators
22

33
import org.utbot.common.statistics.Indicator
4-
import org.utbot.engine.ExecutionState
4+
import org.utbot.engine.state.ExecutionState
55
import java.io.OutputStream
66

77
abstract class SimpleIntCounter(

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/BFSSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.strategies.ChoosingStrategy
55
import org.utbot.engine.selectors.strategies.StoppingStrategy
66

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/BasePathSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.isPreconditionCheckMethod
55
import org.utbot.engine.pathLogger
66
import org.utbot.engine.pc.UtSolver

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/DFSSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.strategies.ChoosingStrategy
55
import org.utbot.engine.selectors.strategies.StoppingStrategy
66

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/InterleavedSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44

55
/**
66
* Retrieves states from different pathSelectors in rotation.

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/MLSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.utbot.engine.selectors
22

33
import org.utbot.analytics.EngineAnalyticsContext
44
import org.utbot.analytics.Predictors
5-
import org.utbot.engine.ExecutionState
5+
import org.utbot.engine.state.ExecutionState
66
import org.utbot.engine.InterProceduralUnitGraph
77
import org.utbot.engine.selectors.nurs.GreedySearch
88
import org.utbot.engine.selectors.strategies.ChoosingStrategy

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/PathSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.pc.UtSolverStatusKind
55

66
/**

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/PathsTree.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import java.util.NoSuchElementException
55
import kotlin.random.Random
66

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/RandomPathSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.strategies.ChoosingStrategy
55
import org.utbot.engine.selectors.strategies.StoppingStrategy
66
import kotlin.random.Random

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/RandomSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.strategies.ChoosingStrategy
55
import org.utbot.engine.selectors.strategies.StoppingStrategy
66
import kotlin.random.Random

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/nurs/CPInstSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors.nurs
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.strategies.ChoosingStrategy
55
import org.utbot.engine.selectors.strategies.StatementsStatistics
66
import org.utbot.engine.selectors.strategies.StoppingStrategy

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/nurs/CoveredNewSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors.nurs
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.strategies.DistanceStatistics
55
import org.utbot.engine.selectors.strategies.StoppingStrategy
66

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/nurs/DepthSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors.nurs
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.strategies.ChoosingStrategy
55
import org.utbot.engine.selectors.strategies.StoppingStrategy
66

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/nurs/ForkDepthSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors.nurs
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.strategies.ChoosingStrategy
55
import org.utbot.engine.selectors.strategies.StoppingStrategy
66

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/nurs/GreedySearch.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors.nurs
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.BasePathSelector
55
import org.utbot.engine.selectors.strategies.ChoosingStrategy
66
import org.utbot.engine.selectors.strategies.StoppingStrategy

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/nurs/InheritorsSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors.nurs
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.types.TypeRegistry
55
import org.utbot.engine.selectors.strategies.DistanceStatistics
66
import org.utbot.engine.selectors.strategies.StoppingStrategy

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/nurs/MinimalDistanceToUncovered.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors.nurs
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.strategies.DistanceStatistics
55
import org.utbot.engine.selectors.strategies.StoppingStrategy
66

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/nurs/NeuroSatSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.utbot.engine.selectors.nurs
22

33
import org.utbot.analytics.Predictors
4-
import org.utbot.engine.ExecutionState
4+
import org.utbot.engine.state.ExecutionState
55
import org.utbot.engine.selectors.strategies.ChoosingStrategy
66
import org.utbot.engine.selectors.strategies.StoppingStrategy
77

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/nurs/NonUniformRandomSearch.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors.nurs
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.BasePathSelector
55
import org.utbot.engine.selectors.strategies.ChoosingStrategy
66
import org.utbot.engine.selectors.strategies.StoppingStrategy

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/nurs/RPSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors.nurs
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.strategies.ChoosingStrategy
55
import org.utbot.engine.selectors.strategies.StoppingStrategy
66
import kotlin.math.pow

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/nurs/SubpathGuidedSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors.nurs
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.strategies.ChoosingStrategy
55
import org.utbot.engine.selectors.strategies.StoppingStrategy
66
import org.utbot.engine.selectors.strategies.SubpathStatistics

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/nurs/VisitCountingSelector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors.nurs
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.selectors.strategies.EdgeVisitCountingStatistics
55
import org.utbot.engine.selectors.strategies.StoppingStrategy
66

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/strategies/ChoosingStrategy.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors.strategies
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.InterProceduralUnitGraph
55

66
/**

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/strategies/DistanceStatistics.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.utbot.engine.selectors.strategies
22

3-
import org.utbot.engine.Edge
4-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.Edge
4+
import org.utbot.engine.state.ExecutionState
55
import org.utbot.engine.InterProceduralUnitGraph
66
import org.utbot.engine.isReturn
77
import org.utbot.engine.pathLogger

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/strategies/EdgeVisitCountingStatistics.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.utbot.engine.selectors.strategies
22

3-
import org.utbot.engine.Edge
4-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.Edge
4+
import org.utbot.engine.state.ExecutionState
55
import org.utbot.engine.InterProceduralUnitGraph
66
import org.utbot.engine.pathLogger
77
import org.utbot.framework.UtSettings.enableLoggingForDroppedStates

utbot-framework/src/main/kotlin/org/utbot/engine/selectors/strategies/GeneratedTestCountingStatistics.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.utbot.engine.selectors.strategies
22

3-
import org.utbot.engine.ExecutionState
3+
import org.utbot.engine.state.ExecutionState
44
import org.utbot.engine.InterProceduralUnitGraph
55

66
class GeneratedTestCountingStatistics(

0 commit comments

Comments
 (0)