Multi-patterns parameterized shift-and string matching algorithm with super alphabets

Rajesh Prasad, Suneeta Agarwal · 2009

In the parameterized string matching, a given pattern P is said to match with a sub-string t of the text T, if there exist a bijection from the symbols of P to the symbols of t. This problem has an important application in software maintenance where it is required to find equivalency between two sections of codes. Two sections of codes are said to be equivalent if one can be transformed into the other by renaming identifiers and variables only. In this paper, we extend single pattern exact shift-and string matching algorithm to find all parameterized occurrences of multiple patterns P0, P1, P2 …Pr-1, (r≥1), each of equal size m, in the text T. The set of r multiple patterns is being handled by using the concept of classes of characters. The new algorithm is named as multi-pattern parameterized shift-and (MPSA) string matching algorithm. We further extend MPSA by using the concept of super alphabets. Implementation results show that by using a super alphabet of size s, the algorithm (MPSA) is speeded-up by a factor of s, where s is the size of the super alphabet (i.e. s is the number of characters processed simultaneously). By using multi-pattern parameterized string matching, the search time is lesser than individual pattern searching in the text. We also show the performance of super alphabet MPSA with respect to duplicity present in the code. However these algorithms are applicable only when pattern length (m) is less than or equal to word length (w) of computer used (i.e. m≤w).

Read the paper · More papers on PaperTik