{'fraction_non_alphanumeric': 0.019675925925925927, 'fraction_numerical': 0.0, 'mean_word_length': 4.9655172413793105, '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}}
Optimized Aho-Corasick string matching algorithm for smart phones

String matching is a core component of signature-based malware detection. Unlike personal computers, smart phones have limited memory resources. In this poster, we shall present an optimized version of the Aho-Corasick (AC) string matching algorithm for smart phones. The basic AC algorithm consisting of the GOTO and failure functions is very memory efficient, but its processing speed is slow. On the other hand, the version with fully expanded transition rule table is much faster but it requires huge amount of memory space. The proposed optimized AC algorithm has outstanding performances in both space and time. The memory cost of the proposed algorithm is close to the basic AC algorithm, and the processing speed can be faster than the fully expanded version when executed on smart phones.