Handbook of Software Engineering pp 321-348 | Cite as
Software Reuse and Product Line Engineering
Chapter
First Online:
Abstract
Systematic Software Reuse is one of the most effective software engineering approaches for obtaining benefits related to productivity, quality, and cost reduction. In this chapter, we discuss its origins and motivations, obstacles, its success and failure aspects, and future directions. In addition, we present the main ideas and important directions related to Software Product Lines, a key reuse approach.
Keywords
Software reuse Systematic software reuse Software product linesPreview
Unable to display preview. Download preview PDF.
References
- Almeida, E.S., Alvaro, A., Lucrédio, D., Garcia, V.C., Meira, S.R.L.: A survey on software reuse processes, International Conference on Information Reuse and Integration (IRI) (2005)Google Scholar
- Almeida, E.S., Alvaro, A., Garcia, V.C., Mascena, J.C.C.P., Burégio, V.A.A., Nascimento, L.M., Lucrédio, D., Meira, S.R.L.: C.R.U.I.S.E. – Component Reuse in Software Engineering (2007)Google Scholar
- Apel, S., Batory, D., Kastner, C., Saake, G.: Feature-Oriented Software Product Lines; Concepts and Implementation. Springer, Berlin (2013)CrossRefGoogle Scholar
- Baresi, L., Guinea, S., Pasquale, L.: Service-oriented dynamic software product lines. IEEE Comput. 45(10), 42–48 (2012)CrossRefGoogle Scholar
- Barnes, B., et al.: A framework and economic foundation for software reuse. In: Tracz, W. (ed.) IEEE Tutorial: Software Reuse—Emerging Technology. IEEE Computer Society Press, Washington, DC (1998)Google Scholar
- Basili, V.R., Briand, L.C., Melo, W.L.: How reuse influences productivity in object-oriented systems. Commun. ACM. 39(10), 104–116 (1996)CrossRefGoogle Scholar
- Batory, D., Singhal, V., Thomas, J., Dasari, S., Geraci, B.J., Sirkin, M.: The GenVoca model of software-system generators. IEEE Softw. 11(5), 89–94 (1994)CrossRefGoogle Scholar
- Bayer, J., Flege, O., Knauber, P., Laqua, R., Muthig, D., Schmid, K., Widen, T., DeBaud, J.M.: PuLSE: A Methodology to Develop Software Product Lines, Symposium Software Reusability (SSR) (1999)Google Scholar
- Bencomo, N., Hallsteinsen, S.O., Almeida, E.S.: A view of the dynamic software product line landscape. IEEE Comput. 45(10), 36–41 (2012)CrossRefGoogle Scholar
- Biggerstaff, T.J.: A perspective of generative reuse. Ann. Softw. Eng. 5, 169–226 (1998)CrossRefGoogle Scholar
- Bosch, J., Capilla, R.: Dynamic variability in software-intensive embedded system families. IEEE Comput. 45(10), 28–35 (2012)CrossRefGoogle Scholar
- Burégio, V.A.A., Almeida, E.S., Lucrédio, D., Meira, S.R.L.: A Reuse Repository System: From Specification to Deployment, International Conference on Software Reuse (ICSR) (2008)Google Scholar
- Capilla, R., Bosch, J., Trinidad, P., Ruiz Cortés, A., Hinchey, M.: An overview of Dynamic Software Product Line architectures and techniques: Observations from research and industry. J. Syst. Softw. 91, 3–23 (2014)CrossRefGoogle Scholar
- Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns, p. 608. Addison-Wesley (2001)Google Scholar
- Cox, B.J.: Planning the software industrial revolution. IEEE Softw. 7(06), 25–33 (1990)CrossRefGoogle Scholar
- Czarnecki, K., Eisenecker, U.: Generative Progamming: Methods, Tools, Applications. Addison-Wesley, Boston (2000)Google Scholar
- Davis, T.: The reuse capability model: A basis for improving an organization’s reuse capability. International Workshop on Software Reusability (1993)Google Scholar
- Diaz, R.P., Freeman, P.: Classifying software for reusability. IEEE Softw. 4(1), (1987)Google Scholar
- Ezran, M., Morisio, M., Tully, C.: Practical Software Reuse, p. 374. Springer, Heidelberg (2002)zbMATHCrossRefGoogle Scholar
- Favaro, J.: What Price Reusability? A Case Study, First International Symposium on Environments and Tools for Ada, California, pp. 115–124, March 1991Google Scholar
- Frakes, W.B., Fox, C.J.: Quality improvement using a software reuse failure modes model. IEEE Trans. Softw. Reuse. 23(4), 274–279 (1996)CrossRefGoogle Scholar
- Frakes, W.B., Isoda, S.: Success factors of systematic reuse. IEEE Softw. 11(5), 14–19 (1994)CrossRefGoogle Scholar
- Frakes, W.B., Kang, K.C.: Software reuse research: Status and future. IEEE Trans. Softw. Eng. 31(7), 529–536 (2005)CrossRefGoogle Scholar
- Frakes, W.B., Nejmeh, B.A.: Software reuse through information retrieval. ACM SIGIR Forum. 21(1–2), 30–36 (1986)CrossRefGoogle Scholar
- Frakes, W.B., Succi, G.: An industrial study of reuse, quality, and productivity. J. Syst. Softw. 57(2), 99–106 (2001)CrossRefGoogle Scholar
- Frakes, W.B., Terry, C.: Software Reuse: Metrics and Models, ACM Computing Survey (1996)Google Scholar
- Garcia, V.C.: RiSE Reference Model for Software Reuse Adoption in Brazilian Companies, Ph.D. Thesis, Federal University of Pernambuco, Brazil (2010)Google Scholar
- Gurp, J.V., Bosch, J., Svahnberg, M.: On the Notion of Variability in Software Product Lines, Working IEEE/IFIP Conference on Software Architecture (WICSA), pp. 45–54, Amsterdam, Netherlands, August, 2001Google Scholar
- Hallsteinsen, S., Hinchey, M., Park, S., Schmid, K.: Dynamic software product lines. IEEE Comput. 41(04), 93–95 (2008)CrossRefGoogle Scholar
- Harman, M., Jia, Y., Krinke, J., Langdon, W.B., Petke, J., Zhang, Y.: Search based software engineering for software product line engineering: A survey and directions for future work. 18th International Software Product Line Conference (SPLC), pp. 5–18, Italy, August, 2014Google Scholar
- Herrejon, R.E.L., Linsbauer, L., Egyed, A.: A systematic mapping study of search-based software engineering for software product lines. Inf. Softw. Technol. J. 61, 33–51 (2015)CrossRefGoogle Scholar
- Hinchey, M., Park, S., Schmid, K.: Building dynamic software product lines. IEEE Comput. 45(10), 22–26 (2012)CrossRefGoogle Scholar
- Holl, G., Grunbacher, P., Rabiser, R.: A systematic review and an expert survey on capabilities supporting multi product lines. Inf. Softw. Technol. J. 54, 828–852 (2012)CrossRefGoogle Scholar
- Jacobson, I., Griss, M., Jonsson, P.: Software Reuse: Architecture, Process and Organization for Business Success. Addison-Wesley (1997)Google Scholar
- Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study, Software Engineering Institute (SEI), Technical Report, p. 161, November 1990Google Scholar
- Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: A feature-oriented reuse method with domain-specific reference architectures. Ann. Softw. Eng. 5, 143–168 (1998)CrossRefGoogle Scholar
- Kim, Y., Stohr, E.A.: Software reuse: Survey and research directions. J. Manag. Inf. Syst. 14(04), 113–147 (1998)CrossRefGoogle Scholar
- Kitchenham, B.A., Dybå, T., Jørgensen, M.: Evidence-Based Software Engineering, International Conference on Software Engineering (ICSE) (2004)Google Scholar
- Krueger, C.W.: Software reuse. ACM Comput. Surv. 24(2), 131–183 (1992)CrossRefGoogle Scholar
- Lau, K.K., Wang, Z.: Software component models. IEEE Trans. Softw. Eng. 33(10), 709–724 (2007)CrossRefGoogle Scholar
- Lee, J., Kotonya, G., Robinson, D.: Engineering service-based dynamic software product lines. IEEE Comput. 45(10), 49–55 (2012)CrossRefGoogle Scholar
- Lim, W.C.: Effects of reuse on quality, productivity, and economics. IEEE Softw. 11(05), 23–30 (1994)CrossRefGoogle Scholar
- Lim, W.C.: Managing Software Reuse. Prentice Hall, Upper Saddle River, NJ (1998)Google Scholar
- Linden, F.V., Schmid, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer (2007)Google Scholar
- Lucrédio, D., Almeida, E.S., Prado, A.F.: A Survey on Software Components Search and Retrieval, 30th IEEE EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA), Component-Based Software Engineering Track, pp. 152–159, Rennes, France, August/September 2004Google Scholar
- McIlroy, M.D.: Mass Produced Software Components, NATO Software Engineering Conference Report, pp. 79–85, Garmisch, Germany, October 1968Google Scholar
- Mili, H., Mili, F., Mili, A.: Reusing software: Issues and research directions. IEEE Trans. Softw. Eng. 21(6), 528–562 (1995)zbMATHCrossRefGoogle Scholar
- Mili, A., Mili, R., Mittermeir, R.: A survey of software reuse libraries. Ann. Softw. Eng. 05, 349–414 (1998)CrossRefGoogle Scholar
- Mili, H., Mili, A., Yacoub, S., Addy, E.: Reuse Based Software Engineering: Techniques, Organizations, and Measurement. Wiley, New York (2002)Google Scholar
- Morisio, M., Ezran, M., Tully, C.: Success and failure factors in software reuse. IEEE Trans. Softw. Eng. 28(4), 340–357 (2002)zbMATHCrossRefGoogle Scholar
- Neighbors, J.M.: The draco approach to constructing software from reusable components. IEEE Trans. Softw. Eng. 10(5), 564–574 (1984)CrossRefGoogle Scholar
- Parnas, D.L.: On the design and development of program families. IEEE Trans. Softw. Eng. 2(1), 1–8 (1976)zbMATHCrossRefGoogle Scholar
- Pohl, K., Bockle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques, p. 467. Springer, New York (2005)zbMATHCrossRefGoogle Scholar
- Poulin, J.S.: Measuring Software Reuse, p. 195. Addison-Wesley, Boston, MA (1997)Google Scholar
- Poulin, J.S.: The Business Case for Software Reuse: Reuse Metrics, Economic Models, Organizational Issues, and Case Studies, Tutorial Notes, Torino, Italy, June, 2006Google Scholar
- Roshandel, R., van der Hoek, A., Rakic, M.M., Medvidovic, N.: Mae – A system model and environment for managing architectural evolution. ACM Trans. Softw. Eng. Methodol. 13(2), 240–276 (2004)CrossRefGoogle Scholar
- Sametinger, J.: Software Engineering with Reusable Components, p. 275. Springer, Berlin (1997)zbMATHCrossRefGoogle Scholar
- Sim, S.E., Gallardo-Valencia, R.G.: Finding Source Code on the Web for Remix and Reuse. Springer, New York (2013)CrossRefGoogle Scholar
- Sommerville, I.: Software Engineering, Addison-Wesley (2006)Google Scholar
- Tracz, W.: Confessions of a Used Program Salesman: Institutionalizing Software Reuse, Addison Wesley, Reading, MA (1995)Google Scholar
- van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala component model for consumer electronics software. IEEE Comput. 33(3), 78–85 (2000)CrossRefGoogle Scholar
- Weiss, D., Lai, C.T.R.: Software Product-Line Engineering. Addison Wesley, Reading, MA (1999)Google Scholar
- Ye, Y., Fischer, G.: Promoting Reuse with Active Reuse Repository Systems, International Conference on Software Reuse (ICSR) (2000)CrossRefGoogle Scholar
- Zand, M., Basili, V.R., Baxter, I., Griss, M.L., Karlsson, E., Perry, D.: Reuse R&D: Gap Between Theory and Practice, Symposium on Software Reusability (SSR), pp. 172–177, Los Angeles, May, 1999Google Scholar
Copyright information
© Springer Nature Switzerland AG 2019