Reverse engineering aggregation relationship based on propagation of operations
Dowming Yeh, Wen-Yuan Kuo · 2003
One of the major obstacles in reverse engineering legacy object-oriented systems is the identification of aggregation relationships. An aggregation relationship is a special kind of an association relationship. Their distinction is mostly of semantic nature and little by implementation mechanism. Most reverse engineering methods on aggregation relationships are based on the lifetime dependence. Since lifetime dependence is not really a primary property of the aggregation relationship, many relationships could not be recovered. We propose a different reverse engineering approach based on a primary characteristic of aggregation relationships, propagation of operations, apply it to some class libraries, and compare the experimental data with the lifetime-based method. The result shows that the propagation-based method performs better than the lifetime-based method and should be adopted for reverse engineering aggregation relationships.