Skip to content

SVA/LTL property instrumentation #797

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 29, 2025
Merged

SVA/LTL property instrumentation #797

merged 2 commits into from
May 29, 2025

Conversation

kroening
Copy link
Member

@kroening kroening commented Nov 3, 2024

This adds --buechi, which triggers an instrumentation pass that turns LTL and select SVA properties into a Büchi automaton. The automaton is then added to the model, and the property is replaced by the Büchi acceptance condition.

The translation is done via ltl2tgba.

This enables checking arbitrary LTL properties via the BDD engine.

@kroening kroening force-pushed the instrument_property branch 2 times, most recently from 3bcb3a7 to 9525b7b Compare November 7, 2024 22:32
@kroening kroening mentioned this pull request Nov 8, 2024
@kroening kroening force-pushed the instrument_property branch 3 times, most recently from e5ff5b3 to e6564c8 Compare November 11, 2024 09:53
@kroening kroening force-pushed the instrument_property branch 5 times, most recently from 8ec6355 to dfbcbbe Compare November 27, 2024 14:05
@kroening kroening force-pushed the instrument_property branch from dfbcbbe to 40f22fe Compare March 29, 2025 22:54
@kroening kroening force-pushed the instrument_property branch from 40f22fe to d73abf5 Compare April 28, 2025 00:25
@kroening kroening force-pushed the instrument_property branch 9 times, most recently from 6c470e6 to 7f74cae Compare May 26, 2025 19:44
@kroening kroening marked this pull request as ready for review May 26, 2025 19:58
@kroening kroening force-pushed the instrument_property branch 6 times, most recently from 8bf29c8 to e78b65d Compare May 28, 2025 10:54
@kroening kroening force-pushed the instrument_property branch 3 times, most recently from 9f052f8 to 2c10033 Compare May 28, 2025 15:34
Comment on lines +42 to +43
namespacet ns(transition_system.symbol_table);
auto property_symbol = ns.lookup(property.identifier);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since you don't actually need the namespace you might just do auto property_symbol = transition_system.symbol_table.lookup_ref(property.identifier);

@kroening kroening force-pushed the instrument_property branch 6 times, most recently from 3c55b93 to c113caa Compare May 29, 2025 14:47
This adds --buechi, which triggers an instrumentation pass that turns LTL
and select SVA properties into a Buechi automaton.  The automaton is then
added to the model, and the property is replaced by the Buechi acceptance
condition.

The translation is done via ltl2tgba.

This enables checking arbitrary LTL properties via the BDD engine.
@kroening kroening force-pushed the instrument_property branch from c113caa to d682fe4 Compare May 29, 2025 15:44
@kroening kroening merged commit b97a3e7 into main May 29, 2025
10 checks passed
@kroening kroening deleted the instrument_property branch May 29, 2025 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants