Source code for lyra.engine.numerical.interval_analysis

"""
Interval Analysis
=================

:Author: Caterina Urban
"""

from lyra.engine.backward import BackwardInterpreter
from lyra.engine.forward import ForwardInterpreter
from lyra.engine.runner import Runner
from lyra.semantics.backward import DefaultBackwardSemantics
from lyra.semantics.forward import DefaultForwardSemantics

from lyra.abstract_domains.numerical.interval_domain import IntervalState


[docs]class ForwardIntervalAnalysis(Runner):
[docs] def interpreter(self): return ForwardInterpreter(self.cfg, DefaultForwardSemantics(), 3)
[docs] def state(self): return IntervalState(self.variables)
[docs]class BackwardIntervalAnalysis(Runner):
[docs] def interpreter(self): return BackwardInterpreter(self.cfg, DefaultBackwardSemantics(), 3)
[docs] def state(self): return IntervalState(self.variables)