informalsystems/modelator-py

Feature: easily identify trace from list based on binary condition

danwt opened this issue · 2 comments

danwt commented

User story

A user has a list of traces which they are using to drive an SUT. They know that one or more traces from the list are causing the test to fail and they would like to identify the trace(s).

First prototype

Expose a binary search algorithm which reacts or to takes user binary choices as input (True, False). For the first prototype this should be done in a more offline manner, as designing an interactive search is a more challenging UX problem.

The user should submit a list of traces T and a list of binary choices B. The tool will return a sublist of T, T' by deterministically following a binary search algorithm according to the choices in B. Notice that in this design, the user will progress the binary search by providing successively longer lists B. The user is free to do whatever they want with the output T', for example they might setup their environment to automatically test the SUT with T' as input, and feed back a longer B for the next iteration.

Second prototype / full version of feature

I'm not sure they best way to design the UX for a more serious version of the feature. Any thoughts?

danwt commented

This feature is low priority and will only be needed for environments where test execution is expensive.

danwt commented

Closed as trying different sorting conditions and then doing binary search is just worse than simply iterating (duh)