Skip to content

Latest commit

 

History

History
15 lines (15 loc) · 1.65 KB

ROADMAP.md

File metadata and controls

15 lines (15 loc) · 1.65 KB
  • Split the repo into apropos and apropos-plutus
    • move Apropos.Script and Apropos.Tx to apropos-plutus
  • Implement Apropos.Tx
    • This could depend on plutus-simple-model or be influenced by its design
  • Consider design of Apropos.Gen
    • possibly create a Free Monad abstraction layer to hide implementation details
  • Consider HasParameterisedEnumerator for types that are easy to exhaustively enumerate
    • if the type has <100 inhabitants it may be preferable to enumerate rather than randomly generate them
    • this may be aided by a better Gen abstraction that allows us to compose the enuerated tests into a single property that runs once.
  • Create road plan for apropos-plutus standard library models
    • having a shared library of specifications could make the library more usable
    • this shared library might be best developed by encouraging upstreaming from library users
  • Collect space size statistics from generators. Generate 1000 values or so and filter identical values - this could be an interesting statistic. If we have generators that only produce a small number of values for some parameterisation we could reduce the number of tests for that space, flag this as a notable statistic that may indicate a problem, perhaps other use cases or statistics could be found.
  • Attach weights to propositions such that we can modulate the number of tests in each property based on these weights. We could allow user specified importance weightings and combine these with weights derived from distribution introspection as described above.This will allow the user to express importance and stop us wasting cycles on generators that have exhausted their space.