pycaliper.synth package
Submodules
pycaliper.synth.alignsynthesis module
pycaliper.synth.btorsynthesizer module
- class pycaliper.synth.btorsynthesizer.BTORVerifier2TraceIncremental(gui=None)
Bases:
PYCBTORInterface
- can_add(hole_id)
Check if the hole can be added
- Return type:
bool
- disable_hole_assm(hole_id)
Disable a hole by removing its assumptions and assertions
- enable_hole_assm(hole_id)
Enable a hole by adding its assumptions and assertions
- unroll(specmodule, des, dc)
Synthesizer for inductive two-safety property
- Perform hole-synthesis for a single module w.r.t. the following property:
input_eq && state_eq |-> ##1 output_eq && state_eq
- Returns:
synthesis result
- Return type:
bool
- verify()
Check if the program is safe
- Return type:
pycaliper.synth.iis_strategy module
- class pycaliper.synth.iis_strategy.IISStrategy
Bases:
object
- get_candidate_order(unexplored, **kwargs)
- get_next_candidate(unexplored, **kwargs)
- get_stats()
- Return type:
str
- class pycaliper.synth.iis_strategy.LLMStrategy
Bases:
IISStrategy
- get_candidate_order(unexplored, ctx, prev_attempts=[], **kwargs)
- get_next_candidate(unexplored, current, ctx, **kwargs)
- get_stats()
- Return type:
str
- class pycaliper.synth.iis_strategy.RandomStrategy
Bases:
IISStrategy
- get_candidate_order(unexplored, **kwargs)
- get_next_candidate(unexplored, **kwargs)
- get_stats()
- Return type:
str
- class pycaliper.synth.iis_strategy.SeqStrategy
Bases:
IISStrategy
- get_candidate_order(unexplored, **kwargs)
- get_next_candidate(unexplored, **kwargs)
- get_stats()
- Return type:
str
- pycaliper.synth.iis_strategy.extract_markdown(content)
Extracts the markdown from the test content
- Return type:
str
- pycaliper.synth.iis_strategy.get_client()
pycaliper.synth.persynthesis module
Synthesis for equality invariants using Jasper FV Interface
- class pycaliper.synth.persynthesis.HoudiniSynthesizer
Bases:
object
- synthesize(topmod, des, dc, strategy=<pycaliper.synth.iis_strategy.SeqStrategy object>, synconfig=HoudiniSynthesizerConfig(fuelbudget=10, stepbudget=10, retries=1))
- Return type:
tuple
[SpecModule
,HoudiniSynthesizerStats
]
- class pycaliper.synth.persynthesis.HoudiniSynthesizerBTOR(gui=None)
Bases:
HoudiniSynthesizer
- class pycaliper.synth.persynthesis.HoudiniSynthesizerConfig(fuelbudget=10, stepbudget=10, retries=1)
Bases:
object
-
fuelbudget:
int
= 10
-
retries:
int
= 1
-
stepbudget:
int
= 10
-
fuelbudget:
- class pycaliper.synth.persynthesis.HoudiniSynthesizerJG
Bases:
HoudiniSynthesizer
- class pycaliper.synth.persynthesis.HoudiniSynthesizerStats(solvecalls, steps, minfuel, success)
Bases:
object
-
minfuel:
int
-
solvecalls:
int
-
steps:
int
-
success:
bool
-
minfuel: