Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms
Tool Demonstration: Finding Duplicated Code Using Program Dependences
ESOP '01 Proceedings of the 10th European Symposium on Programming Languages and Systems
Generalization of a Suffix Tree for RNA Structural Pattern Matching
SWAT '00 Proceedings of the 7th Scandinavian Workshop on Algorithm Theory
On Software Maintenance Process Improvement Based on Code Clone Analysis
PROFES '02 Proceedings of the 4th International Conference on Product Focused Software Process Improvement
Using Slicing to Identify Duplication in Source Code
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Detecting higher-level similarity patterns in programs
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Parameterized matching with mismatches
Journal of Discrete Algorithms
Efficient parameterized string matching
Information Processing Letters
DECKARD: Scalable and Accurate Tree-Based Detection of Code Clones
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Deducing similarities in Java sources from bytecodes
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Approximate parameterized matching
ACM Transactions on Algorithms (TALG)
Context-based detection of clone-related bugs
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Finding Clones with Dup: Analysis of an Experiment
IEEE Transactions on Software Engineering
Periodicity and repetitions in parameterized strings
Discrete Applied Mathematics
On the Longest Common Parameterized Subsequence
CPM '08 Proceedings of the 19th annual symposium on Combinatorial Pattern Matching
Note: Pattern matching with pair correlation distance
Theoretical Computer Science
Journal of Software Maintenance and Evolution: Research and Practice
δ γ --- Parameterized Matching
SPIRE '08 Proceedings of the 15th International Symposium on String Processing and Information Retrieval
Pattern Matching with Pair Correlation Distance
SPIRE '08 Proceedings of the 15th International Symposium on String Processing and Information Retrieval
Multi-patterns parameterized shift-and string matching algorithm with super alphabets
Proceedings of the International Conference on Advances in Computing, Communication and Control
Accurate and Efficient Structural Characteristic Feature Extraction for Clone Detection
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Parameterized matching on non-linear structures
Information Processing Letters
Complete and accurate clone detection in graph-based models
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Automatic mining of functionally equivalent code fragments via random testing
Proceedings of the eighteenth international symposium on Software testing and analysis
Detecting code clones in binary executables
Proceedings of the eighteenth international symposium on Software testing and analysis
Clone detection via structural abstraction
Software Quality Control
On-Line Construction of Parameterized Suffix Trees
SPIRE '09 Proceedings of the 16th International Symposium on String Processing and Information Retrieval
On the longest common parameterized subsequence
Theoretical Computer Science
Parameterized string matching: an application to software maintenance
ACM SIGSOFT Software Engineering Notes
On-line construction of parameterized suffix trees for large alphabets
Information Processing Letters
Parameterized searching with mismatches for run-length encoded strings
SPIRE'10 Proceedings of the 17th international conference on String processing and information retrieval
Frequency and risks of changes to clones
Proceedings of the 33rd International Conference on Software Engineering
Efficient algorithm for detecting parameterized multiple clones in a large software system
ICCSA'11 Proceedings of the 2011 international conference on Computational science and Its applications - Volume Part V
Two dimensional parameterized matching
CPM'05 Proceedings of the 16th annual conference on Combinatorial Pattern Matching
Fast plagiarism detection system
SPIRE'05 Proceedings of the 12th international conference on String Processing and Information Retrieval
Parameterized searching with mismatches for run-length encoded strings
Theoretical Computer Science
Hi-index | 0.00 |
As an aid in software maintenance, it would be useful to be able to track down duplication in large software systems efficiently. Duplication in code is often in the form of sections of code that are the same except for a systematic change of parameters such as identifiers and constants. To model such parameterized duplication in code, this paper introduces the notions of parameterized strings and parameterized matches of parameterized strings. A data structure called a parameterized suffix tree is defined to aid in searching for parameterized matches. For fixed alphabets, algorithms are given to construct a parameterized suffix tree in linear time and to find all maximal parameterized matches over a threshold length in a parameterized p-string in time linear in the size of the input plus the number of matches reported. The algorithms have been implemented, and experimental results show that they perform well on C code.