skip to main content
article

Quality, productivity and economic benefits of software reuse: a review of industrial studies

Published: 01 October 2007 Publication History

Abstract

Systematic software reuse is proposed to increase productivity and software quality and lead to economic benefits. Reports of successful software reuse programs in industry have been published. However, there has been little effort to organize the evidence systematically and appraise it. This review aims to assess the effects of software reuse in industrial contexts. Journals and major conferences between 1994 and 2005 were searched to find observational studies and experiments conducted in industry, returning eleven papers of observational type. Systematic software reuse is significantly related to lower problem (defect, fault or error) density in five studies and to decreased effort spent on correcting problems in three studies. The review found evidence for significant gains in apparent productivity in three studies. Other significant benefits of software reuse were reported in single studies or the results were inconsistent. Evidence from industry is sparse and combining results was done by vote-counting. Researchers should pay more attention to using comparable metrics, performing longitudinal studies, and explaining the results and impact on industry. For industry, evaluating reuse of COTS or OSS components, integrating reuse activities in software processes, better data collection and evaluating return on investment are major challenges.

References

[1]
Baldassarre MT, Bianch A, Caivano D, Vissaggio G (2005) An industrial case study on reuse oriented development. In: Proc. 21st IEEE Int'l Conf. on Software Maintenance (ICSM'05), pp 283-292.
[2]
Basili VR (1990) Viewing maintenance as reuse-oriented software development. IEEE Softw 7(1):19-25.
[3]
Basili VR, Briand LC, Melo WL (1996) How software reuse influences productivity in object-oriented systems. Commun ACM 39(10):104-116.
[4]
Birk A, Dingsøyr T, Stålhane T (2002) Postmortem: never leave a project without it. IEEE Softw 19(3):43-45.
[5]
Boehm B, Brown W, Madachy R, Yang Y (2004) Software product line cycle cost estimation model. In: Proc. 2004 ACM-IEEE Int'l Symposium on Empirical Software Engineering (ISESE'04), pp 156-164.
[6]
Conradi R, Li J, Slyngstad OPN, Kampenes VB, Bunse C, Morisio M, Torchiano M (2005) Reflections on conducting an international survey of Software Engineering. In: Proc. 4th International Symposium on Empirical Software Engineering (ISESE'05), pp 214-223.
[7]
Coverty http://scan.coverity.com/, visited in April 2006.
[8]
Dedrick J, Gurbaxani V, Kraemer KL (2003) Information technology and economic performance: a critical review of the empirical evidence. ACM Comput Surv 35(1):1-28.
[9]
Dybå T, Kitchenham BA, Jørgensen M (2005) Evidence-based software engineering for practitioners. IEEE Softw 22(1):58-65.
[10]
Dybå T, Kampenes VB, Sjøberg D (2006) A systematic review of statistical power in software engineering experiments. Inf Softw Technol 48(8):745-755.
[11]
Fenton N, Krause P, Neil M (2002) Software measurement: uncertainty and causal modeling. IEEE Softw 19 (4):116-122.
[12]
Fitzgerald B, Kenny T (2004) Developing an information system infrastructure with open source software. IEEE Softw 21(1):50-55.
[13]
Frakes WB, Kang K (2005) Software reuse research: status and future. IEEE Trans Softw Eng 31 (7):529-536.
[14]
Frakes WB, Succi G (2001) An industrial study of reuse, quality and productivity. J Syst Softw 57 (2001):99-106.
[15]
Frakes WB, Terry C (1996) Software reuse: metrics and models. ACM Comput Surv 28(2):415-435.
[16]
Gigerenzer G (2004) Mindless statistics. J Socio-Econ 33(2004):587-606.
[17]
Glass RL (1997) Telling good numbers from bad ones. IEEE Softw 14(4):15-16, 19.
[18]
Glass RL (2002) In search of meaning (a tale of two words). IEEE Softw 19(4):136, 134-135.
[19]
Gregor S (2002) A theory of theories in information science. In: Gregor S, Hart D (eds) Information systems foundations: building the theoretical base. Australian National University, Canberra, pp 1-20.
[20]
Hallsteinsen S, Paci M (eds) (1997) Experiences in software evolution and reuse. Springer.
[21]
Karlsson E-A (ed) (1995) Software reuse, a holistic approach. John Wiley & Sons.
[22]
Kitchenham BA (2004) Procedures for performing systematic reviews. Joint technical report, Keele University Technical Report TR/SE-0401 and National ICT Australia Technical Report 0400011T.1
[23]
Kitchenham BA, Pickard LM (1998) Evaluating software eng. methods and tools--part 10: designing and running a quantitative case study. ACM Sigsoft Softw Eng Notes 23(3):20-22.
[24]
Kitchenham BA, Pfleeger SL, Hoaglin DC, El Emam K, Rosenberg J (2002) Preliminary guidelines for empirical research in software engineering. IEEE Trans Softw Eng 28(8):721-734.
[25]
Krueger C (2002) Eliminating the adoption barrier. IEEE Softw 19(4):29-31.
[26]
Lee AS, Baskerville RL (2003) Generalizing generalizability in information systems research. Inf Syst Res 14(3):221-243.
[27]
Li M, Smidts CS (2003) A ranking of software engineering measures based on expert opinion. IEEE Trans Softw Eng 29(9):811-824.
[28]
Lim WC (1994) Effect of reuse on quality, productivity and economics. IEEE Softw 11(5):23-30.
[29]
Lim WC (1996) Reuse economics: a comparison of seventeen models and directions for future research. In: Proc. 4th Int'l Conf. on Software Reuse (ICSR'96), pp 41-50.
[30]
Madanmohan TR, Dé R (2004) Open source reuse in commercial firms. IEEE Softw 21(6):62-69.
[31]
Mohagheghi P, Conradi R (2006) Vote-counting for combining quantitative evidence from empirical studies-- an example. In: Proc. 5th ACM-IEEE Int'l Symposium on Empirical Software Engineering (ISESE'06), pp 24-26.
[32]
Mohagheghi P, Conradi R (2007) An empirical investigation of software reuse benefits in a large telecom product. ACM Transactions of Software Engineering Methodology (TOSEM) (in press).
[33]
Mohagheghi P, Conradi R, Killi OM, Schwarz H (2004) An empirical study of software reuse vs. defect-density and stability. In: Proc. 26th Int'l Conf. on Software Engineering (ICSE'04), pp 282-292.
[34]
Mohagheghi P, Conradi R, Børretzen JA (2006) Revisiting the problem of using problem reports for quality assessment. In: Proc. 6th Workshop on Software Quality (WoSQ'06)--as part of Proc. 28th International Conference on Software Engineering & Co-Located Workshops, pp 45-50.
[35]
Morad S, Kuflik T (2005) Conventional and open source software reuse at Orbotech--an industrial experience. In: Proc. IEEE Int'l Conf. on Software-Science, Technology & Engineering (SwSTE'05), 8 p.
[36]
Morisio M, Tully C, Ezran M (2000) Diversity in reuse processes. IEEE Softw 17(4):56-63.
[37]
Morisio M, Romano D, Stamelos I (2002) Quality, productivity, and learning in framework-based development: an exploratory case study. IEEE Trans Softw Eng 28(9):876-888.
[38]
Norris JS (2004) Mission-critical development with open source software: lessons learned. IEEE Softw 21(1):42-49.
[39]
Pfleeger SH (1996) When the pursuit of quality destroys value. IEEE Softw 13(3):93-95.
[40]
Pfleeger SH (2005) Soup or art? The role of evidential force in empirical software engineering. IEEE Softw 22(1):66-73.
[41]
Pickard LM, Kitchenham BA, Jones PW (1998) Combining empirical results in software engineering. Inf Softw Technol 40(1998):811-821.
[42]
Ramachandran M, Fleischer W (1996) Design for large scale software reuse: an industrial case study. Proc. 4th Int'l Conf. on Software Reuse (ICSR'96), pp 104-111.
[43]
Schneidewind NF (1992) Methodology for validating software metrics. IEEE Trans Softw Eng 18(5):410-422.
[44]
Selby W (2005) Enabling reuse-based software development of large-scale systems. IEEE Trans Softw Eng 31(6):495-510.
[45]
SEVO (2006) http://www.idi.ntnu.no/grupper/su/sevo/index.html
[46]
Shadish WR, Cook TD, Campbell DT (2001) Experimental and quasi-experimental designs for generalized causal inference. Houghton Mifflin Company.
[47]
Sommerseth M (2006) Component based system development in the Norwegian software industry. NTNU master thesis. http://www.idi.ntnu.no/grupper/su/su-diploma-2006/sommerseth-dipl06.pdf
[48]
Succi G, Benedicenti L, Vernazza T (2001) Analysis of the effects of software reuse on customer satisfaction in an RPG environment. IEEE Trans Softw Eng 27(5):473-479.
[49]
Szyperski C (with Gruntz D, Murer S) (2002) Component software, beyond object-oriented programming, 2nd edn. Addison Wesley.
[50]
Thomas WM, Delis A, Basili VR (1997) An analysis of errors in a reuse-oriented development environment. J Syst Softw 38(3):211-224.
[51]
Tomer A, Goldin L, Kuflik T, Kimchi E, Schach SR (2004) Evaluating software reuse alternatives: a model and its application to an industrial case study. IEEE Trans Softw Eng 30(9):601-612.
[52]
Wang C (1993) Sense and nonsense of statistical inference: controversy, misuse, and subtlety. Marcel Dekker.
[53]
Webster J, Watson RT (2002) Analyzing the past to prepare for the future: writing a literature review. MIS Quarterly 26(2):xiii-xxiii.
[54]
Wohlin C, Runeseon P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2000) Experimentation in software engineering. Kluwer.
[55]
Yin RK (2003) Case study research, design and methods. Sage.
[56]
Zannier C, Melnik G, Maurer F (2006) On the success of empirical studies in the International Conference on Software Engineering. In: Proc. 28th Int'l Conf. on Software Engineering (ICSE'06), pp 341-350.
[57]
Zelkowitz MV, Wallace DR (1998) Experimental models for validating technology. IEEE Computer 31(5): 23-31.
[58]
Zhang W, Jarzabek S (2005) Reuse without compromising performance: industrial experience from RPG software product line for mobile devices. In: Proc. 9th Int'l Software Product Line Conf. (SPLC'05), pp 57-69.

Cited By

View all
  • (2024)Context, Composition, Automation, and Communication: The C2AC Roadmap for Modeling and SimulationACM Transactions on Modeling and Computer Simulation10.1145/367322634:4(1-51)Online publication date: 13-Aug-2024
  • (2024)Bloat beneath Python’s Scales: A Fine-Grained Inter-Project Dependency AnalysisProceedings of the ACM on Software Engineering10.1145/36608211:FSE(2584-2607)Online publication date: 12-Jul-2024
  • (2023)Two Birds with One Stone: Boosting Code Generation and Code Search via a Generative Adversarial NetworkProceedings of the ACM on Programming Languages10.1145/36228157:OOPSLA2(486-515)Online publication date: 16-Oct-2023
  • Show More Cited By

Recommendations

Reviews

Chris A Mattmann

The current state of the literature for software reuse is a mixed bag of relevant studies with conflicting conclusions unsupported by quantitative data—claims supported by appropriate data, but lacking uniform dimensions to compare against, and with large gaps in terms of the application of statistically relevant methods. At the same time, it is clear that software reuse has definite tangible benefits (for instance, quality improvement, defect minimization, and productivity). Mohagheghi and Conradi tackle this issue using a scholarly approach of surveying, with as much relevant literature between the years of 1994 and 2005 as they were able to find. The authors employ an investigative approach by examining 11 papers from major software engineering journals and conferences that describe case studies and experiments involving software reuse in industrial settings. A five-question review framework to gather and compare the results of all papers selected was then applied. The framework is based on a statistical/experimental methodology in which the 11 case studies are evaluated based on: the approach and results of software reuse; the metrics selected to evaluate how well software reuse aided in the software project; the quantitative data for software reuse reported; useful theories developed based on the reuse data and findings; and any shortcomings of software reuse described. Much of the paper consists of organized tables that compare the results of the 11 studies surveyed based on further classification of each of the five research questions asked by the authors. This was not incidental: the authors mention that one of the two goals of their study is to provide a means for researchers to quickly sift through the relevant software research data from 1994 to 2005 (the other goal was to assess the state of the literature and understanding of software reuse). The summaries at the end of each subsection in Section 4 are very useful, and more relevant than the wordy text prior to them. The conclusion that the process of experimenting and theorizing about software reuse needs much work is backed sufficiently by the authors’ stated difficulty in trying to classify and compare the experimental data and results provided by the 11 studies. In addition, the research agenda suggested by the authors is highly relevant and should probably be applied more generally to software engineering (SE) as a discipline—it is not limited to software reuse. This is a very readable paper for researchers interested in understanding the state of literature in software reuse. It is presented from an empirical SE and experimental perspective. General readers should focus on the section summaries in Section 4. For those readers interested in a more detailed classification (the empirical “nitty gritty”), the tables in the appendix section provide notes from the authors on each study, and comparisons between them using the five-question framework. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Empirical Software Engineering
Empirical Software Engineering  Volume 12, Issue 5
October 2007
125 pages

Publisher

Kluwer Academic Publishers

United States

Publication History

Published: 01 October 2007

Author Tags

  1. Evidence
  2. Productivity
  3. Quality
  4. Review
  5. Software reuse

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 24 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Context, Composition, Automation, and Communication: The C2AC Roadmap for Modeling and SimulationACM Transactions on Modeling and Computer Simulation10.1145/367322634:4(1-51)Online publication date: 13-Aug-2024
  • (2024)Bloat beneath Python’s Scales: A Fine-Grained Inter-Project Dependency AnalysisProceedings of the ACM on Software Engineering10.1145/36608211:FSE(2584-2607)Online publication date: 12-Jul-2024
  • (2023)Two Birds with One Stone: Boosting Code Generation and Code Search via a Generative Adversarial NetworkProceedings of the ACM on Programming Languages10.1145/36228157:OOPSLA2(486-515)Online publication date: 16-Oct-2023
  • (2023)Natural Language to Code: How Far Are We?Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616323(375-387)Online publication date: 30-Nov-2023
  • (2023)Recommending Analogical APIs via Knowledge Graph EmbeddingProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616305(1496-1508)Online publication date: 30-Nov-2023
  • (2023)Using InnerSource for Improving Internal Reuse: An Industrial Case StudyProceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering10.1145/3593434.3593466(348-357)Online publication date: 14-Jun-2023
  • (2023)Challenges in software model reuse: cross application domain vs. cross modeling paradigmEmpirical Software Engineering10.1007/s10664-023-10386-929:1Online publication date: 5-Dec-2023
  • (2023)A systematic literature review on trust in the software ecosystemEmpirical Software Engineering10.1007/s10664-022-10238-y28:1Online publication date: 1-Jan-2023
  • (2022)Strategies for reuse and sharing among data scientists in software teamsProceedings of the 44th International Conference on Software Engineering: Software Engineering in Practice10.1145/3510457.3513042(243-252)Online publication date: 21-May-2022
  • (2022)In-IDE Code Generation from Natural Language: Promise and ChallengesACM Transactions on Software Engineering and Methodology10.1145/348756931:2(1-47)Online publication date: 4-Mar-2022
  • Show More Cited By

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media