{'fraction_non_alphanumeric': 0.020257826887661142, 'fraction_numerical': 0.0, 'mean_word_length': 5.394117647058824, '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}}
Mining Numerical Relations for Improving Software Reliability

This research aims to mine numerical relations from programs and use the relations to improve program reliability. We focus on two types of numerical relations: relations from program inputs and outputs (i.e., metamorphic relations) and workflow relations from software logs. For metamorphic relations from program inputs and outputs, we design two approaches: for polynomial relations, we propose a method to firstly parameterize the metamorphic relations, then use search-based method to find the suitable parameters; for general forms of numerical relations, we plan to adopt genetic programming techniques which have the potential to evolve and produce relations of various types. For workflow relations from program logs, we parse the raw logs to event sequences and propose an approach to mine numerical relations from the event-count-matrix of the sequences. To improve software reliability, the mined metamorphic relations can be used to detect bugs and the mined workflow relations can be used to detect anomalies.