Minimizing ripple recompilation in a persistent software environment

  • Authors:
  • M. Kazerooni-Zand;M. H. Samadzadeh;K. M. George

  • Affiliations:
  • Department of Computer Science, Langston University, Langston, Oklahoma;Department of Computing Information Science, Oklahoma State University, Stillwater, Oklahoma;Department of Computing Information Science, Oklahoma State University, Stillwater, Oklahoma

  • Venue:
  • CSC '90 Proceedings of the 1990 ACM annual conference on Cooperation
  • Year:
  • 1990

Quantified Score

Hi-index 0.00

Visualization

Abstract

The ripple recompilation problem is caused by modifying one or more modules in an integrated set of modules, or it results from forming a new integrated set of modules. This problem could be significant if the modified modules are widely used in the set. The main objective of this paper is to present the systematic and efficient technique employed in ROPCO (Reuse On Persistent Code and Object code) to limit this effect in a persistent reuse environment. The problem is addressed in the context of strongly-typed and separately-compiled programming languages. The approach presented consists of two phases. In the first phase, the compilation dependency graph of all modules is generated, change sets are computed, and candidate modules are marked. In the second phase, modules that are candidates for recompilation are visited and two lists for logical and physical inconsistencies are generated. Algorithms are given for both phases. An analysis of the computational complexity of the algorithms is also included.