Today,
most systems are built on top of component technology. However,
building software systems using current component technology typically
introduces multiple interactions between the different components,
thereby creating many dependencies.
These
dependencies are typically not managed well and introduce numerous
problems. We focus on the effects of these dependencies
on component evolution. Software evolution in a component-based
architecture, requires discovering effected components, based
on a change in some component, and the subsequent propagation
of the change to all the effected components. In the absence of
sophisticated architecture-based tools, searching for effected
components would require tracing the interactions from the changed
component to all components in the system.
