Software Reuse and Product Line Engineering

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.

[1]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[2]  Rosalva E. Gallardo-Valencia,et al.  Finding Source Code on the Web for Remix and Reuse , 2013, Springer New York.

[3]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[4]  Gerhard Fischer,et al.  Promoting Reuse with Active Reuse Repository Systems , 2000, ICSR.

[5]  Michel Ezran,et al.  Practical Software Reuse , 2002, Practitioner Series.

[6]  Yeong R. Kim,et al.  Software Reuse: Survey and Research Directions , 1997, J. Manag. Inf. Syst..

[7]  Yuanyuan Zhang,et al.  Search based software engineering for software product line engineering: a survey and directions for future work , 2014, SPLC.

[8]  Christopher J. Fox,et al.  Quality Improvement Using A Software Reuse Failure Modes Model , 1996, IEEE Trans. Software Eng..

[9]  Sadahiro Isoda,et al.  Success factors of systematic reuse , 1994, IEEE Software.

[10]  Daniel Lucrédio,et al.  A survey on software reuse processes , 2005, IRI -2005 IEEE International Conference on Information Reuse and Integration, Conf, 2005..

[11]  Jeffrey S. Poulin The Business Case for Software Reuse: Reuse Metrics, Economic Models, Organizational Issues, and Case Studies , 2006, ICSR.

[12]  Wayne C. Lim Managing Software Reuse , 2004 .

[13]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[14]  William B. Frakes,et al.  Software reuse research: status and future , 2005, IEEE Transactions on Software Engineering.

[15]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[16]  Maurizio Morisio,et al.  Success and Failure Factors in Software Reuse , 2002, IEEE Trans. Software Eng..

[17]  Brad J. Cox,et al.  Planning the software industrial revolution , 1990, IEEE Software.

[18]  Sooyong Park,et al.  Dynamic Software Product Lines , 2008, Computer.

[19]  Sooyong Park,et al.  Building Dynamic Software Product Lines , 2012, Computer.

[20]  Peter Freeman,et al.  Classifying Software for Reusability , 1987, IEEE Software.

[21]  William B. Frakes,et al.  Software reuse: metrics and models , 1996, CSUR.

[22]  Luciano Baresi,et al.  Service-Oriented Dynamic Software Product Lines , 2012, Computer.

[23]  Jan Bosch,et al.  Dynamic Variability in Software-Intensive Embedded System Families , 2012, Computer.

[24]  Martin L. Griss,et al.  Reuse R&D: gap between theory and practice , 1999, SSR '99.

[25]  Ted J. Biggerstaff,et al.  A perspective of generative reuse , 1998, Ann. Softw. Eng..

[26]  Ted Davis,et al.  The reuse capability model: a basis for improving an organization's reuse capability , 1993, [1993] Proceedings Advances in Software Reuse.

[27]  Roland Mittermeir,et al.  A survey of software reuse libraries , 1998, Ann. Softw. Eng..

[28]  O. Arshad,et al.  Measuring software reuse , 2002, IEEE Students Conference, ISCON '02. Proceedings..

[29]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.

[30]  Victor R. Basili,et al.  How reuse influences productivity in object-oriented systems , 1996, CACM.

[31]  Paul Grünbacher,et al.  A systematic review and an expert survey on capabilities supporting multi product lines , 2012, Inf. Softw. Technol..

[32]  Tore Dybå,et al.  Evidence-based software engineering , 2004, Proceedings. 26th International Conference on Software Engineering.

[33]  Antonio Ruiz Cortés,et al.  Article in Press G Model the Journal of Systems and Software an Overview of Dynamic Software Product Line Architectures and Techniques: Observations from Research and Industry , 2022 .

[34]  B. Barnes,et al.  A framework and economic foundation for software reuse , 1988 .

[35]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[36]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[37]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[38]  Wayne C. Lim,et al.  Effects of reuse on quality, productivity, and economics , 1994, IEEE Software.

[39]  Ivar Jacobson,et al.  Software Reuse: Architecture, Process And Organization For Business Success , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[40]  Alexander Egyed,et al.  A systematic mapping study of search-based software engineering for software product lines , 2015, Inf. Softw. Technol..

[41]  Don S. Batory,et al.  The GenVoca model of software-system generators , 1994, IEEE Software.

[42]  Jaejoon Lee,et al.  Engineering Service-Based Dynamic Software Product Lines , 2012, Computer.

[43]  Ali Mili,et al.  Reusing Software: Issues and Research Directions , 1995, IEEE Trans. Software Eng..

[44]  Nelly Bencomo,et al.  A View of the Dynamic Software Product Line Landscape , 2012, Computer.

[45]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[46]  Marija Mikic-Rakic,et al.  Mae---a system model and environment for managing architectural evolution , 2004, TSEM.

[47]  Giancarlo Succi,et al.  An industrial study of reuse, quality, and productivity , 2001, J. Syst. Softw..

[48]  John Favaro,et al.  What price reusability?: a case study , 1991, SETA1.

[49]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[50]  Kung-Kiu Lau,et al.  Software Component Models , 2007, IEEE Trans. Software Eng..

[51]  William J. Tracz,et al.  Confessions of a Used Program Salesman: In-stitutionalizing Software Reuse , 1995 .

[52]  Daniel Lucrédio,et al.  A Reuse Repository System: From Specification to Deployment , 2008, ICSR.

[53]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[54]  James M. Neighbors,et al.  The Draco Approach to Constructing Software from Reusable Components , 1984, IEEE Transactions on Software Engineering.

[55]  William B. Frakes,et al.  Software reuse through information retrieval , 1986, SIGF.

[56]  Johannes Sametinger,et al.  Software Engineering with Reusable Components , 1997, Springer Berlin Heidelberg.

[57]  Will Tracz,et al.  Confessions of a used-program salesman: lessons learned , 1995, SSR '95.