Compare: a collusion detector for Pascal
Technique et Science Informatiques
The AWK programming language
Detecting plagiarism in student Pascal programs
The Computer Journal
Algorithms in C
A fast string searching algorithm
Communications of the ACM
Elements of Software Science (Operating and programming systems series)
Elements of Software Science (Operating and programming systems series)
Artificial Intelligence
The UNIX Programming Environment
The UNIX Programming Environment
A tool that detects plagiarism in Pascal programs
SIGCSE '81 Proceedings of the twelfth SIGCSE technical symposium on Computer science education
Measurements of program similarity in identical task environments
ACM SIGPLAN Notices
A Framework for Source Code Search Using Program Patterns
IEEE Transactions on Software Engineering
Program representation and behavioural matching for localizing similar code fragments
CASCON '93 Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1
CASCON '93 Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1
Generating programming language-based pattern matchers
CASCON '93 Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1
Execution patterns in object-oriented visualization
COOTS'98 Proceedings of the 4th conference on USENIX Conference on Object-Oriented Technologies and Systems - Volume 4
Unparsed patterns: easy user-extensibility of program manipulation tools
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Sourcerer: mining and searching internet-scale software repositories
Data Mining and Knowledge Discovery
Hi-index | 0.00 |
For software maintainers and reengineers confronted with the task of locating an interesting section of source code, a slow, painstaking scan of the source code using grep like tools is often the only available option. Similar problems arise in code optimization and program understanding. To alleviate the situation, we have in the past proposed a scheme for defining pattern languages using which one can specify interesting code features [13]. This paper addresses the automatic detection of source code sections that fit patterns described using such languages. We have built prototypes of our runtime system for C and PL/AS (an IBM internal programming language). The key to efficient, automatic search lies in the representations of the source code and the pattern being searched. A domain-independent pattern detection algorithm based on these representations is described. A prototype of the system was also built to search for simple patterns in English text, which demonstrates the generality of the pattern language concept as well as the underlying pattern detection mechanism.