DocumentCode :
1115017
Title :
A framework for source code search using program patterns
Author :
Paul, Santanu ; Prakash, Atul
Author_Institution :
Dept. of Electr. Eng. & Comput. Sci., Michigan Univ., Ann Arbor, MI, USA
Volume :
20
Issue :
6
fYear :
1994
fDate :
6/1/1994 12:00:00 AM
Firstpage :
463
Lastpage :
475
Abstract :
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
Keywords :
finite state machines; formal specification; programming environments; query languages; software maintenance; software tools; user interfaces; SCRUPLE; finite state machine; integrated software engineering environments; pattern languages; pattern-based query processors; program patterns; prototype; software maintenance; software reengineering; software toolkits; software tools; software understanding; source code; source code browser; source code fragments; source code search; source code search tool; source programming language; user interface; Computer languages; Database languages; Design engineering; Pattern matching; Programming profession; Prototypes; Software engineering; Software maintenance; Software prototyping; User interfaces;
fLanguage :
English
Journal_Title :
Software Engineering, IEEE Transactions on
Publisher :
ieee
ISSN :
0098-5589
Type :
jour
DOI :
10.1109/32.295894
Filename :
295894
Link To Document :
بازگشت