{'fraction_non_alphanumeric': 0.02522935779816514, 'fraction_numerical': 0.0, 'mean_word_length': 4.97945205479452, '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}}
Strategy-guided test-case order in dynamic symbolic execution

Dynamic symbolic execution (DSE) is a variation of symbolic execution, which is a path sensitive technique for software testing. Recently there has emerged much new techniques and many new tools, depending on DSE, to improve path coverage in testing. But when facing large-scale programs, there still exists a challenge that if DSE cannot choose better inputs as seeds, it has to do much redundant execution because of inputs' similarity in their trace. An intuitive idea to improve the performance of DSE is to reorder these inputs, which will be passed to the symbolic engine for path-constraints collection, by some criteria. In this paper, we present six strategies and design some experiments, aiming to demonstrate that ordering testing case is useful to improve the path-coverage in a limited resource.