Inter-Module Renaming and Reorganizing: Examples of Program Manipulation in-the-Large, Manuel M. Ammann and Robert D. Cameron
@InProceedings{ ammann.cameron:inter-module,
author = {Manuel M. Ammann and Robert D. Cameron},
title = {Inter-Module Renaming and Reorganizing: Examples of
Program Manipulation in-the-Large},
pages = {354-361},
booktitle = {Proceedings of the International Conference on Software
Maintenance ~1994},
year = {1994},
publisher = {IEEE Computer Society Press},
month = sep,
abstract = {Maintaining software often requires repetetive and
errorprone manipulations of source code, particularly when
changes must be propagated across many modules. Practical
program manipulation tools can alleviate the 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.},
class = {Alteration, Re-Design, Inter-module_Reorganization}
}
Two Module-Factoring Techniques, F.W. Calliss and B.J. Cornelius
@Article{ calliss.cornelius:two,
author = {F.W. Calliss and B.J. Cornelius},
title = {Two Module-Factoring Techniques},
journal = {Journal of Software Maintenance: Research and Practice},
year = {1989},
volume = {1},
pages = {81-89},
abstract = {Module factoring is splitting a module into smaller
modules, each of which performs a distinct task. They
describe two techniques: one based on type families, one
based on imported entities.},
class = {Alteration, Re-Design, Inter-module_Reorganization }
}
Criteria for software modularization, D. N. Card and G. T. Page and F. E. McGarry
@InProceedings{ card.page.ea:criteria,
author = {D. N. Card and G. T. Page and F. E. McGarry},
title = {Criteria for software modularization},
pages = {372--377},
booktitle = {Proceedings of the 8th International Conference on
Software Engineering },
year = {1985},
publisher = {IEEE Computer Society Press},
month = aug,
class = {Alteration, Re-Design, Inter-module_Reorganization}
}
Software restructuring by enforcing localization and information hiding, W Chu and S. Patel
@InProceedings{ chu.patel:software*1,
title = {Software restructuring by enforcing localization and
information hiding},
author = {W Chu and S. Patel},
pages = {165--172},
booktitle = {SM92},
year = {1992},
note = { Starting with information describing function calls and
global variable usage, this paper presents a clustering
technique that generates Ada-like packages describing the
structure of a given software system. Has been applied to
several existing systems implemented in C},
class = {Alteration, Re-Design, Inter-module_Reorganization}
}
Automating the modularization of large COBOL programs: application of an enabling technology for reengineering, Ph. Newcomb and L. Markosian
@InProceedings{ newcomb.markosian:automating,
author = {Ph. Newcomb and L. Markosian},
title = {Automating the modularization of large {COBOL} programs:
application of an enabling technology for reengineering},
booktitle = {Proceedings of the 1st Working Conference on Reverse
Engineering },
pages = {222--230},
year = {1993},
note = { Experience report using the Software Refinery to build a
modularization tool for COBOL},
class = {Alteration, Re-Design, Inter-module_Reorganization}
}