• 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