{'fraction_non_alphanumeric': 0.01652892561983471, 'fraction_numerical': 0.001652892561983471, 'mean_word_length': 5.727777777777778, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Incremental Witness Generation for Branching-Time Logic CTL*

We propose a tester-based symbolic algorithm to incrementally generate tree-like witnesses (the dual concept of counterexamples) for branching-time logic CTL*. The CTL* witnesses are state transition directed graphs of tree-like structure in which all strongly connected components are cycles, and all branches are lasso paths with shortest prefixes. The states and transitions in these graphs may be respectively attached with satisfied state and path subformulas as annotations for intelligibility. The correctness of the lasso path generation algorithm is proved. We have developed an ordered binary decision diagrams based symbolic model checker MCTK2 for CTL* in which the proposed witness generation algorithm has been implemented. To make the generated witnesses graphs more succinct, several optimization strategies are applied to reduce the number of annotations and avoid constructing branching paths as much as possible. The interactive visualization interface of MCTK2 enables users to conveniently inspect counterexamples and expand branches of interest such that they can incrementally analyze larger and more complex counterexamples.