public abstract class MergeWithLatticeAbstraction extends MergeProcedure implements ParametricMergeProcedure
MergeProcedure.ValuesMergeResult| Constructor and Description |
|---|
MergeWithLatticeAbstraction() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
complete()
Similar to
AbstractBuiltInRuleApp.complete(). |
protected abstract AbstractDomainLattice |
getAbstractDomainForSort(Sort s,
Services services)
Returns the abstract domain lattice for the given sort or null if there
has no lattice been specified for that sort.
|
abstract java.util.LinkedHashMap<ProgramVariable,AbstractDomainElement> |
getUserChoices() |
MergeProcedure.ValuesMergeResult |
mergeValuesInStates(Term v,
SymbolicExecutionState state1,
Term valueInState1,
SymbolicExecutionState state2,
Term valueInState2,
Term distinguishingFormula,
Services services)
Merges two values valueInState1 and valueInState2 of corresponding SE
states state1 and state2 to a new value of a merge state.
|
boolean |
requiresDistinguishablePathConditions() |
getMergeProcedures, getProcedureByNameprotected abstract AbstractDomainLattice getAbstractDomainForSort(Sort s, Services services)
s - The sort to return the matching lattice for.services - The services object.public abstract java.util.LinkedHashMap<ProgramVariable,AbstractDomainElement> getUserChoices()
public boolean complete()
MergeProcedureAbstractBuiltInRuleApp.complete(). Method was
introduced for predicate abstraction (which is not complete if the
abstraction predicates are not set).complete in class MergeProcedurepublic MergeProcedure.ValuesMergeResult mergeValuesInStates(Term v, SymbolicExecutionState state1, Term valueInState1, SymbolicExecutionState state2, Term valueInState2, Term distinguishingFormula, Services services)
MergeProceduremergeValuesInStates in class MergeProcedurev - The variable for which the values should be mergedstate1 - First SE state.valueInState1 - Value in state1.state2 - Second SE state.valueInState2 - Value in state2.distinguishingFormula - The user-specified distinguishing formula. May be null (for
automatic generation).services - The services object.public boolean requiresDistinguishablePathConditions()
requiresDistinguishablePathConditions in class MergeProcedure