Mailing List Archive

Why the function ac_maketrans defined size of array is 256?
Hello All,

I debug code of clamav. Aho-Corasick( AC) Algorithms concepts for
matching between virus and signature files. Step for AC is build trie (
keyword tree) for inserting signature from virus database files. I
have question in step build tire before matching with input information.
Why source code in "static int ac_maketrans(struct cli_matcher *root)"
[1] define size of array is 256?.
In addition, Do you using the Depth First Search Algorithm( DFS)
for building trie?

Thanks you,
Chatsiri Rattana

1) http://goo.gl/bIqdx
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net
Re: Why the function ac_maketrans defined size of array is 256? [ In reply to ]
On 02/02/2012 05:53 AM, chatsiri wrote:
> Hello All,
>
> I debug code of clamav. Aho-Corasick( AC) Algorithms concepts for matching between virus and signature files. Step for AC is build trie ( keyword tree) for inserting signature from virus
> database files. I have question in step build tire before matching with input information. Why source code in "static int ac_maketrans(struct cli_matcher *root)" [1] define size of array is 256?.

Because the trie matches byte-by-byte, so each node has 256 children, and that includes the root.

> In addition, Do you using the Depth First Search Algorithm( DFS) for building trie?

ac_maketrans uses BFS.

Best regards,
--Edwin
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net
Re: Why the function ac_maketrans defined size of array is 256? [ In reply to ]
----- Original message -----
> On 02/02/2012 05:53 AM, chatsiri wrote:
> > Hello All,
> >
> > I  debug code of clamav.  Aho-Corasick( AC) Algorithms concepts for
> > matching between virus and signature files. Step for AC is build trie
> > ( keyword tree)  for inserting signature from virus database files. I
> > have question in step build tire before matching with input
> > information. Why source code in "static int ac_maketrans(struct
> > cli_matcher *root)" [1]  define size of array is 256?.
>
> Because the trie matches byte-by-byte, so each node has 256 children,
> and that includes the root.
What's contain in node? My view, Node contains a signature files for matching with virus in files.right? My plan for optimized algorithm code of string matching with GPU.
>
> > In addition, Do you using the Depth First Search Algorithm( DFS) for
> > building trie?
>
> ac_maketrans uses BFS.
>
> Best regards,
> --Edwin
> _______________________________________________
> http://lurker.clamav.net/list/clamav-devel.html
> Please submit your patches to our Bugzilla: http://bugs.clamav.net

_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net
Re: Why the function ac_maketrans defined size of array is 256? [ In reply to ]
On Fri, 03 Feb 2012 08:18:24 +0700 Chatsiri Ratana
<chatsiri@chatsiri.com> wrote:
> ----- Original message -----
>> On 02/02/2012 05:53 AM, chatsiri wrote:
>>> Hello All,
>>>
>>> I debug code of clamav. Aho-Corasick( AC) Algorithms concepts for
>>> matching between virus and signature files. Step for AC is build trie
>>> ( keyword tree) for inserting signature from virus database files. I
>>> have question in step build tire before matching with input
>>> information. Why source code in "static int ac_maketrans(struct
>>> cli_matcher *root)" [1] define size of array is 256?.
>>
>> Because the trie matches byte-by-byte, so each node has 256 children,
>> and that includes the root.
> What's contain in node? My view, Node contains a signature files for matching with virus in files.right? My plan for optimized algorithm code of string matching with GPU.

I'd suggest you have a look at the source code - all the information is
there.

--
oo ..... Tomasz Kojm <tkojm@clamav.net>
(\/)\......... http://www.ClamAV.net/gpg/tkojm.gpg
\..........._ 0DCA5A08407D5288279DB43454822DC8985A444B
//\ /\ Fri Feb 3 16:57:08 CET 2012
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net