Software component interaction is essential for realising proper software system functions. Such interactions between software components induce interdependencies between multiple components. One effect of such a dependency is co-evolution, wherein changes made to one component also requires corresponding changes to other component(s). This study presents a mathematical framework for representing component co-evolution. Two types of co-evolution, internal co-evolution and external co-evolution are defined for an evolving software component. The component dependency metrics that are related with component co-evolutions are analysed and the correlations between component dependency and component co-evolution are hypothesised. Further, in a quasi-experiment of nine open-source Java projects, component dependencies are measured and component revision histories are mined to verify the speculated correlations.
Published in:
Software, IET
(Volume:4
,
Issue:
4
)
Date of Publication: August 2010