FiniteFixpointSolver

This solver is a commodity interface for the other finite fixpoint solvers. It takes some parameters as inputs and plans a sequence of actions in order to obtain the desired solutions as the output.

class Object
trait Matchable
class Any

Type members

Classlikes

case class Params[U, V](solver: Solver, start: Option[InputAssignment[U, V]], boxlocation: BoxLocation, boxscope: BoxScope, boxstrategy: BoxStrategy, restartstrategy: RestartStrategy, wideningBoxAssn: BoxAssignment[U, V], narrowingBoxAssn: BoxAssignment[U, V], tracer: FixpointSolverTracer[U, V])

Parameters for this driver

Parameters for this driver

Value parameters:
boxlocation

where to put boxes

boxscope

how to apply boxes (standard, localized, etc...)

boxstrategy

single phase, two phase, warrowing

narrowingBoxAssn

a box used for narrowings

restartstrategy

restart strategy to apply in supported solvers

solver

the real solver to use

start

an optional initial assignment

tracer

a fixpoint solver tracer

wideningBoxAssn

a box used for widenings

Value members

Concrete methods

def CC77[U, V](solver: Solver, wideningBoxAssn: BoxAssignment[U, V], narrowingBoxAssn: BoxAssignment[U, V]): Params[U, V]

Returns parameters for solving an equation system with the standard CC77 approach

Returns parameters for solving an equation system with the standard CC77 approach

Value parameters:
narrowingBoxAssn

a box used for narrowings

solver

the real solver to use

wideningBoxAssn

a box used for widenings

def apply[U, V, E](eqs: GraphEquationSystem[U, V, E], params: Params[U, V])(using evidence$1: Domain[V]): IOAssignment[U, V]

Solves the equation system using the parameters specified in p.

Solves the equation system using the parameters specified in p.

Value parameters:
eqs

the equation system to solve

params

the parameters for the solver