Abstract
By software reusing we can expedite the development of a software product by re-using the components of another software product in a different behavior. The concept of systematic software reuse is simple: the idea of building and using "software preferred parts". By building systems out of carefully designed, pre-tested components, one will save the cost of designing, writing and testing new code. The practice of reuse has not proven to be this simple however, and there are many misconceptions about how to implement and gain benefit from software reuse. This paper briefly summarizes software reuse research and discusses major research contributions.