{'fraction_non_alphanumeric': 0.02168021680216802, 'fraction_numerical': 0.0036133694670280035, 'mean_word_length': 5.121546961325967, '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}}
RiverConc: An Open-source Concolic Execution Engine for x86 Binaries

: This paper presents a new open-source testing tool capable of performing concolic execution on x86 binaries. Using this tool, one can ﬁnd out ahead of time of potential bugs that can enable threats such as process hijacking and stack buffer overﬂow attacks. Although a similar tool, SAGE, already exists in literature, it is closed-sourced and we think that using its description to implement an open-sourced version of its main novel algorithm, Generational Search, is beneﬁcial to both industry and research communities. This paper describes, in more detail than previous work, how the components at the core of a concolic execution tool, such as tracers, dynamic tainting mechanisms and SMT solvers, collaborate together to ensure code coverage. Also, it brieﬂy describes how reinforcement learning can be used to speed up the state of the art heuristics for prioritization of inputs. Research opportunities and the technical difﬁculties that the authors observed during the current development of the project are presented as well.