The Profile of Software Changes in Reused vs. Non-Reused Industrial Software Systems

High-quality software, delivered on time and budget, constitutes a critical part of most products and services in modern society. Our ability to develop and maintain such software is still inadequate. However, software reuse and Component-Based Software Engineering (CBSE) seem to be the potential te...

Full description

Bibliographic Details
Main Author: Gupta, Anita
Format: Doctoral Thesis
Language:English
Published: Norges teknisk-naturvitenskapelige universitet, Institutt for datateknikk og informasjonsvitenskap 2009
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:no:ntnu:diva-5539
http://nbn-resolving.de/urn:isbn:978-82-471-1558-9 (printed ver.)
http://nbn-resolving.de/urn:isbn:978-82-471-1560-2 (electronic ver.)
id ndltd-UPSALLA1-oai-DiVA.org-ntnu-5539
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-ntnu-55392013-01-08T13:05:16ZThe Profile of Software Changes in Reused vs. Non-Reused Industrial Software SystemsengGupta, AnitaNorges teknisk-naturvitenskapelige universitet, Institutt for datateknikk og informasjonsvitenskap2009High-quality software, delivered on time and budget, constitutes a critical part of most products and services in modern society. Our ability to develop and maintain such software is still inadequate. However, software reuse and Component-Based Software Engineering (CBSE) seem to be the potential technologies to reduce time-to-market, and achieve better software quality. Development for reuse refers to the deliberate development of software components that can be reused. Development with reuse refers to the inclusion of these reusable components in new software. Since the 1970s work has been ongoing to study the issues related to software reuse, maintenance and evolution. The focus has been on how to develop for/with reuse, technical/managerial/organizational aspects, assessing the effect of reuse in terms of defect density and change density, and reporting the success and failure of reuse practices. The research in this thesis is based on several empirical studies performed in a large Norwegian oil and gas company (StatoilHydro ASA in Stavanger/Trondheim, Norway), and in the context of the SEVO (Software Evolution in Component-Based-Software Engineering) project, financed in part by the Research Council of Norway. Data have been collected for all releases of a reused class framework, called Java Enterprise Framework (JEF), as well as from two applications reusing the framework "as-is", namely Digital Cargo Files (DCF) and Shipment and Allocation (S&A). The main focus has been to investigate the relation between software changes and software reuse, and propose reuse guidelines based on these insights. The research has followed a combined quantitative and qualitative design approach. Quantitative data were collected from the company's data repositories for three releases of a reused class framework, and for the two applications. The qualitative data were collected by interviewing senior developers, and reading numerous documents, web pages and other studies. The following research questions have been identified in this thesis: RQ1: What is the relation between software changes and software reuse, by comparing the reused framework vs. software reusing it? RQ2: How do the reused framework and software reusing it evolve over time? RQ3: What improvements can be made towards the actual reuse practice at StatoilHydro ASA?  The main contributions are: C1: Identification of differences/similarities of the change profile for the reused framework vs. software reusing it.C2: Identification of differences/similarities of the defect profile for the reused framework vs. software reusing it. C3: Description of the software change lifecycle for the reused framework vs. software reusing it. C4: Identification of possible software reuse improvements.   Doctoral thesis, comprehensive summaryinfo:eu-repo/semantics/doctoralThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:no:ntnu:diva-5539urn:isbn:978-82-471-1558-9 (printed ver.)urn:isbn:978-82-471-1560-2 (electronic ver.)Doktoravhandlinger ved NTNU, 1503-8181 ; 2009:90application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Doctoral Thesis
sources NDLTD
description High-quality software, delivered on time and budget, constitutes a critical part of most products and services in modern society. Our ability to develop and maintain such software is still inadequate. However, software reuse and Component-Based Software Engineering (CBSE) seem to be the potential technologies to reduce time-to-market, and achieve better software quality. Development for reuse refers to the deliberate development of software components that can be reused. Development with reuse refers to the inclusion of these reusable components in new software. Since the 1970s work has been ongoing to study the issues related to software reuse, maintenance and evolution. The focus has been on how to develop for/with reuse, technical/managerial/organizational aspects, assessing the effect of reuse in terms of defect density and change density, and reporting the success and failure of reuse practices. The research in this thesis is based on several empirical studies performed in a large Norwegian oil and gas company (StatoilHydro ASA in Stavanger/Trondheim, Norway), and in the context of the SEVO (Software Evolution in Component-Based-Software Engineering) project, financed in part by the Research Council of Norway. Data have been collected for all releases of a reused class framework, called Java Enterprise Framework (JEF), as well as from two applications reusing the framework "as-is", namely Digital Cargo Files (DCF) and Shipment and Allocation (S&A). The main focus has been to investigate the relation between software changes and software reuse, and propose reuse guidelines based on these insights. The research has followed a combined quantitative and qualitative design approach. Quantitative data were collected from the company's data repositories for three releases of a reused class framework, and for the two applications. The qualitative data were collected by interviewing senior developers, and reading numerous documents, web pages and other studies. The following research questions have been identified in this thesis: RQ1: What is the relation between software changes and software reuse, by comparing the reused framework vs. software reusing it? RQ2: How do the reused framework and software reusing it evolve over time? RQ3: What improvements can be made towards the actual reuse practice at StatoilHydro ASA?  The main contributions are: C1: Identification of differences/similarities of the change profile for the reused framework vs. software reusing it.C2: Identification of differences/similarities of the defect profile for the reused framework vs. software reusing it. C3: Description of the software change lifecycle for the reused framework vs. software reusing it. C4: Identification of possible software reuse improvements.  
author Gupta, Anita
spellingShingle Gupta, Anita
The Profile of Software Changes in Reused vs. Non-Reused Industrial Software Systems
author_facet Gupta, Anita
author_sort Gupta, Anita
title The Profile of Software Changes in Reused vs. Non-Reused Industrial Software Systems
title_short The Profile of Software Changes in Reused vs. Non-Reused Industrial Software Systems
title_full The Profile of Software Changes in Reused vs. Non-Reused Industrial Software Systems
title_fullStr The Profile of Software Changes in Reused vs. Non-Reused Industrial Software Systems
title_full_unstemmed The Profile of Software Changes in Reused vs. Non-Reused Industrial Software Systems
title_sort profile of software changes in reused vs. non-reused industrial software systems
publisher Norges teknisk-naturvitenskapelige universitet, Institutt for datateknikk og informasjonsvitenskap
publishDate 2009
url http://urn.kb.se/resolve?urn=urn:nbn:no:ntnu:diva-5539
http://nbn-resolving.de/urn:isbn:978-82-471-1558-9 (printed ver.)
http://nbn-resolving.de/urn:isbn:978-82-471-1560-2 (electronic ver.)
work_keys_str_mv AT guptaanita theprofileofsoftwarechangesinreusedvsnonreusedindustrialsoftwaresystems
AT guptaanita profileofsoftwarechangesinreusedvsnonreusedindustrialsoftwaresystems
_version_ 1716508372267696128