DocumentCode
2203930
Title
Inter-module renaming and reorganizing: examples of program manipulation in-the-large
Author
Ammann, Manuel M. ; Cameron, Robert D.
Author_Institution
Sch. of Comput. Sci., Simon Fraser Univ., Burnaby, BC, Canada
fYear
1994
fDate
19-23 Sep 1994
Firstpage
354
Lastpage
361
Abstract
Maintaining software often requires repetitive and error prone manipulations of source code, particularly when changes must be propagated across many modules. Practical program manipulation tools can alleviate these problems by automatically making changes throughout a program. Such tools can become even more valuable when they allow for manipulation in-the-large: the systematic modification of all the modules that comprise a software project. We demonstrate this concept with two prototype tools. An inter-module renamer locates and renames all and only appropriate instances of an identifier throughout a project, ensuring that no conflicts arise. An inter-module reorganizer automates the task of moving program entities between modules such that import/export declarations are properly updated for modules dependent on the moved entity and for items on which the moved entity is dependent. Our tools are designed for modern block-structured and object-oriented languages such as Modula-3
Keywords
automatic programming; object-oriented languages; programming languages; software maintenance; software tools; Modula-3; block-structured languages; error prone manipulations; import/export declarations; inter-module renamer; inter-module renaming; inter-module reorganizer; object-oriented languages; program entities; program manipulation in-the-large; program manipulation tools; prototype tools; software maintenance; software project; source code; systematic modification; Computer languages; Object-oriented languages; Software maintenance; Software tools;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance, 1994. Proceedings., International Conference on
Conference_Location
Victoria, BC
Print_ISBN
0-8186-6330-8
Type
conf
DOI
10.1109/ICSM.1994.336759
Filename
336759
Link To Document