c++algorithmantivirusaho-corasick

Aho-Corasick-like algorithm for use in anti-malware code


Is there an algorithm like Aho-Corasick, which can match a set of patterns simultaneously and is applicable to be used in anti-malware comparison? Do all known commercial antivirus software use the Aho-Corasick algorithm?

What are the advantages of the Aho-Corasick algorithm over Boyer-Moore?


Solution

  • Boyer-Moore: For searching one string in another target string
    Aho-Corasick: For searching multiple patterns simultaneously

    So the advantage being that Aho-Corasick is optimal if you want to search lot of patterns simultaneously in one pass.

    Rabin-Karp string search can also match multiple patterns.