pacti-org / pacti

A package for compositional system analysis and design
https://www.pacti.org
BSD 3-Clause "New" or "Revised" License
19 stars 5 forks source link

[Feature request] Improve runtime for contains_behavior for PolyhedralIoContractCompound #342

Open jgraeb opened 9 months ago

jgraeb commented 9 months ago

Checking whether a behavior satisfies a contract compound takes a significant amount of time, in the case that this behavior is not contained in the contract. Attached is a test where the runtime can be checked for a big polyhedral contract compound in "test_contract.json" and the matching behavior dictionary "test_behavior.json". The test is in "test_evaluate_behavior.py". Loading the contract from the file takes a significant amount of time as well.

To check the runtime of the merge that resulted in that contract the individual contracts are in "test_merge_contracts.json".

test_behavior.json test_contract.json test_merge_contracts.json test_contains_behavior.py.zip

iincer commented 9 months ago

Thanks @jgraeb! Per your subsequent findings about the size of these contracts after merging, do we still have to address this issue?