Skip to content
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

Run experiments with APALACHE on the Relayer TLA+ spec #165

Closed
4 tasks done
istoilkovska opened this issue Jul 23, 2020 · 3 comments · Fixed by #224
Closed
4 tasks done

Run experiments with APALACHE on the Relayer TLA+ spec #165

istoilkovska opened this issue Jul 23, 2020 · 3 comments · Fixed by #224
Assignees
Labels
I: logic Internal: related to the relaying logic I: spec Internal: related to IBC specifications
Milestone

Comments

@istoilkovska
Copy link
Contributor

Summary

The properties in the current Relayer TLA+ spec are checked with TLC. We should experiment with APALACHE as well.

Problem Definition

TLC takes a long time, even for small values of the chain height. For example, running TLC on the Relayer TLA+ spec in a configuration with two relayers that create client, connection handshake, and channel opening handshake, for height 2, produces the following result for the properties ICS18Delivery and ICS18Safety:

  • total states: 5.046.661
  • distinct states: 388.895
  • diameter: 29
  • time: 26h11min40s

We anticipate that checking invariants with APALACHE should be faster.

Proposal

The goal is to identify invariants, and try to check them with APALACHE. Reporting on the experience of running APALACHE would also be useful to the APALACHE team, as they are aiming at improving the user experience.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@istoilkovska istoilkovska self-assigned this Jul 23, 2020
@josef-widder
Copy link
Member

@konnov @andrey-kuprianov

@adizere adizere added this to the v.0.0.3 milestone Jul 24, 2020
@adizere adizere added I: logic Internal: related to the relaying logic I: spec Internal: related to IBC specifications labels Jul 24, 2020
@ebuchman
Copy link
Member

time: 26h11min40s

Lol wow. We're also going to want to leverage model based testing here

@konnov
Copy link

konnov commented Jul 25, 2020

The number of states is actually not large. Do you know where the complexity is coming from? Maybe you first try apalache and tell us about all the bumps. Then we can go over it together and see where things could be made faster.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I: logic Internal: related to the relaying logic I: spec Internal: related to IBC specifications
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants