Long-lived, architecture-based software systems are increasingly important. Effective process support for these systems depends upon recognising their compositional nature and the ...
R. Mark Greenwood, Dharini Balasubramaniam, Sorana...
Modeling object-oriented applications using collaborations and roles is now well accepted. Collaboration-based or role-based designs decompose an application into tasks performed ...
Object-oriented concepts are crucial in software design because they address fundamental issues of adaptation and evolution. With the proliferation of object-oriented notations an...
Software evolution in a cooperative environment, where a pool of maintainers/developers contribute to the overall system changes, is challanging due to several factors, such as th...
Code duplication is one of the factors that severely complicates the maintenance and evolution of large software systems. Techniques for detecting duplicated code exist but rely m...