Software reuse is the process of creating software systems from existing software rather than building them from scratch.


Software reuse appears in many different forms from ad-hoc reuse to systematic reuse, and from white-box reuse to black-box reuse. Many different products for reuse range from ideas and algorithms to any documents that are created during the software life cycle. Source code and design reuse have become popular with object-oriented class libraries, application frameworks, and design patterns.
Systematic software reuse influences the software engineering process. Software process models were developed to provide guidance in the creation of high-quality software systems by teams at predictable costs. The original models were based on the (mis)conception that systems are built from scratch according to stable requirements. Software process models have been adapted since based on experience, and several changes and improvements have been suggested since the classic waterfall model. With increasing reuse of software, new models for software engineering are emerging. New models are based on systematic reuse of well-defined components that have been developed in various projects.
Developing software with reuse requires planning for reuse, developing for reuse and with reuse, and providing documentation for reuse. The priority of documentation in software projects has traditionally been low. However, proper documentation is a necessity for systematic reuse.
The main focus of this research project was to identify major problems and to determine improvements in various areas of software reuse.

Software Reuse

Publications

B. Childs, J. Sametinger, Analysis of Literate Programs from the Viewpoint of Reuse, Software-Concepts and Tools, Vol. 18/1, pp. 35-46, Jan. 1997.
Journal Article
J. Sametinger: Software Engineering with Reusable Components (Habilitationsschrift), Springer-Verlag, ISBN 3-540-62695-6, 1997.
DOI: 10.1007/978-3-662-03345-6
Book
B. Childs, J. Sametinger, Reuse Measurement with Line and Word Runs, Proceedings of TOOLS Pacific, Melbourne, Australia, Nov. 1996.
Conference Article
B. Childs, J. Sametinger, Documentation Inheritance in Literate Programs, Proceedings of White Object-Oriented Nights (WOON), St. Petersburg, Russia, June 20-21, 1996.
Conference Article
B. Childs, J. Sametinger, Literate Programming and Documentation Reuse, Proceedings of the 4th International Conference on Software Reuse, Orlando, Florida, April 1996
DOI: 10.1109/icsr.1996.496128
Conference Article
J. Sametinger, Reuse Documentation and Documentation Reuse, Proceedings of TOOLS Europe '96, Paris, February 1996.
Conference Article