{'fraction_non_alphanumeric': 0.011494252873563218, 'fraction_numerical': 0.0, 'mean_word_length': 5.652777777777778, '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}}
Heuristics for Selecting Predicates for Partial Predicate Abstraction

In this paper we consider the problem of configuring partial predicate abstraction that combines two techniques that have been effective in analyzing infinite-state systems: predicate abstraction and fixpoint approximations. A fundamental problem in partial predicate abstraction is deciding the variables to be abstracted and the predicates to be used. In this paper, we consider systems modeled using linear integer arithmetic and investigate an alternative approach to counter-example guided abstraction refinement. We devise two heuristics that search for predicates that are likely to be precise. The first heuristic performs the search on the problem instance to be verified. The other heuristic leverages verification results on the smaller instances of the problem. We report experimental results for CTL model checking and discuss advantages and disadvantages of each approach.