Compare: a collusion detector for Pascal
Technique et Science Informatiques
The AWK programming language
Software interconnection models
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Detecting plagiarism in student Pascal programs
The Computer Journal
Automating software analysis and testing using a program transformation system
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
The C Information Abstraction System
IEEE Transactions on Software Engineering
Algorithms in C
TXL: a rapid prototyping system for programming language dialects
Computer Languages
A transformational approach to generating application-specific environments
SDE 5 Proceedings of the fifth ACM SIGSOFT symposium on Software development environments
Program Concept Recognition and Transformation
IEEE Transactions on Software Engineering - Special issue on software maintenance
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)
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
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
Implementing relational views of programs
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
SCRUPLE: a reengineer's tool for source code search
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 1
Measurements of program similarity in identical task environments
ACM SIGPLAN Notices
Signature matching: a tool for using software libraries
ACM Transactions on Software Engineering and Methodology (TOSEM)
Reverse engineering and system renovation—an annotated bibliography
ACM SIGSOFT Software Engineering Notes
Specification matching of software components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Design of Flexible Static Program Analyzers with PQL
IEEE Transactions on Software Engineering
Experience Using Web-Based Shotgun Measures for Large-System Characterization and Improvement
IEEE Transactions on Software Engineering
GENOA—a customizable, front-end-retargetable source code analysis framework
ACM Transactions on Software Engineering and Methodology (TOSEM)
A hierarchy-aware approach to faceted classification of objected-oriented components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Reverse engineering and reengineering of a large serial system into a distributed-parallel version
SAC '95 Proceedings of the 1995 ACM symposium on Applied computing
Corrigenda: a hierarchy-aware approach to faceted classification of object-oriented components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Reverse engineering: a roadmap
Proceedings of the Conference on The Future of Software Engineering
A method for detecting faulty code violating implicit coding rules
Proceedings of the International Workshop on Principles of Software Evolution
Browsing and searching source code of applications written using a GUI framework
Proceedings of the 24th International Conference on Software Engineering
Towards pattern-based design recovery
Proceedings of the 24th International Conference on Software Engineering
A survey of software reuse libraries
Annals of Software Engineering
An Approach for Recovering Distributed System Architectures
Automated Software Engineering
On 'A Framework for Source Code Search Using Program Patterns'
IEEE Transactions on Software Engineering
A Query Algebra for Program Databases
IEEE Transactions on Software Engineering
An Empirical Analysis of C Preprocessor Use
IEEE Transactions on Software Engineering
Modeling and querying software repositories
CASCON '94 Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research
Code migration through transformations: an experience report
CASCON '98 Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research
Pattern matching for design concept localization
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Recognizers for extracting architectural features from source code
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Design of a generic reverse engineering assistant tool
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
CVSSearch: Searching through Source Code using CVS Comments
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
An Open Visual Model for Object-Oriented Operating Systems
IWOOOS '95 Proceedings of the 4th International Workshop on Object-Orientation in Operating Systems
An inexact model matching approach and its applications
Journal of Systems and Software
Integrating diverse paradigms in evolution and maintenance by an XML-based unified model
Journal of Software Maintenance: Research and Practice
A Pattern-Based Framework for Software Anomaly Detection
Software Quality Control
Program comprehension with dynamic recovery of code collaboration patterns and roles
CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
Ranking Significance of Software Components Based on Use Relations
IEEE Transactions on Software Engineering
Automatic detection and correction of programming faults for software applications
Journal of Systems and Software
Effective pattern matching of source code using abstract syntax patterns
Software—Practice & Experience
Discovering faults in idiom-based exception handling
Proceedings of the 28th international conference on Software engineering
Interactive transformation of java programs in eclipse
Proceedings of the 28th international conference on Software engineering
Assieme: finding and leveraging implicit references in a web search interface for programmers
Proceedings of the 20th annual ACM symposium on User interface software and technology
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
XARK: An extensible framework for automatic recognition of computational kernels
ACM Transactions on Programming Languages and Systems (TOPLAS)
Integrated Computer-Aided Engineering
Sourcerer: mining and searching internet-scale software repositories
Data Mining and Knowledge Discovery
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Delving source code with formal concept analysis
Computer Languages, Systems and Structures
Artifacts extraction technique
CIT'09 Proceedings of the 3rd International Conference on Communications and information technology
Integration of descriptors for software component retrieval
KSEM'07 Proceedings of the 2nd international conference on Knowledge science, engineering and management
A multimodeling framework for complex software reuse
ECBS'97 Proceedings of the 1997 international conference on Engineering of computer-based systems
Knowledge-centric and language independent framework for safety analysis tools
HASE'04 Proceedings of the Eighth IEEE international conference on High assurance systems engineering
Code migration through transformations: an experience report
CASCON First Decade High Impact Papers
How Well Do Search Engines Support Code Retrieval on the Web?
ACM Transactions on Software Engineering and Methodology (TOSEM)
Supporting program indexing and querying in source code digital libraries
AOIS'05 Proceedings of the 7th international conference on Agent-Oriented Information Systems III
Deciding where to call performance libraries
Euro-Par'05 Proceedings of the 11th international Euro-Par conference on Parallel Processing
Language-independent detection of object-oriented design patterns
Computer Languages, Systems and Structures
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
A source-to-source transformation tool for error fixing
CASCON '13 Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research
Codewebs: scalable homework search for massive open online programming courses
Proceedings of the 23rd international conference on World wide web
Hi-index | 0.00 |
For maintainers involved in understanding and reengineering large software, locating source code fragments that match certain patterns is a critical task. Existing solutions to the problem are few, and they either involve manual, painstaking scans of the source code using tools based on regular expressions, or the use of large, integrated software engineering environments that include simple pattern-based query processors in their toolkits. We present a framework in which pattern languages are used to specify interesting code features. The pattern languages are derived by extending the source programming language with pattern-matching symbols. We describe SCRUPLE, a finite state machine-based source code search tool, that efficiently implements this framework. We also present experimental performance results obtained from a SCRUPLE prototype, and the user interface of a source code browser built on top of SCRUPLE.