"""
(Strongly) Live Variable Analysis
=================================
:Author: Caterina Urban
"""
from lyra.engine.backward import BackwardInterpreter
from lyra.engine.runner import Runner
from lyra.semantics.backward import DefaultBackwardSemantics
from lyra.abstract_domains.liveness.liveness_domain import LivenessState, StrongLivenessState
[docs]class LivenessAnalysis(Runner):
[docs] def interpreter(self):
return BackwardInterpreter(self.cfg, DefaultBackwardSemantics(), 3)
[docs] def state(self):
return LivenessState(self.variables)
[docs]class StrongLivenessAnalysis(LivenessAnalysis):
[docs] def state(self):
return StrongLivenessState(self.variables)