DocumentCode
994537
Title
Tools for making impossible changes - experiences with a tool for transforming large Smalltalk programs
Author
Roberts, D. ; Brant, J.
Author_Institution
Univ. of Evansville, IN, USA
Volume
151
Issue
2
fYear
2004
fDate
4/5/2004 12:00:00 AM
Firstpage
49
Lastpage
56
Abstract
In a commercial system, performing large, invasive changes, such as changing an entire infrastructure layer, is often impossible because development on a system cannot be halted for any significant amount of time. Performing such changes require tools that can perform mass transformations on the source code. One approach is to use tools that can do global search and replace on the entire program structure. However, simple text-based tools are too simplistic for program text. To make accurate changes in a large program the tool must be based on parsing the program text. The paper describes the requirements for such a tool, the shortcomings of this approach, and describes one such tool for the Smalltalk language. This tool, the Refactoring Browser Rewrite Engine, is based on pattern matching of parse trees. The paper then presents three case studies in the successful application of this tool in commercial settings and discusses the shortcomings of such an approach. "impossible adj. - 1 b felt to be incapable of being done, attained, or fulfiled : insuperably difficult. - Merriam-Webster Dictionary".
Keywords
Smalltalk; grammars; pattern matching; software tools; Smalltalk language; infrastructure layer; parse tree; pattern matching; program text; refactoring browser rewrite engine tool;
fLanguage
English
Journal_Title
Software, IEE Proceedings -
Publisher
iet
ISSN
1462-5970
Type
jour
DOI
10.1049/ip-sen:20040078
Filename
1301260
Link To Document