Digitala Vetenskapliga Arkivet

Ändra sökning
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
Further Investigation of the Survivability of Code Technical Debt Items
Blekinge Tekniska Högskola, Fakulteten för datavetenskaper, Institutionen för programvaruteknik.ORCID-id: 0000-0002-1729-5154
Blekinge Tekniska Högskola, Fakulteten för datavetenskaper, Institutionen för programvaruteknik. Wageningen Univ & Res, NLD.ORCID-id: 0000-0001-9140-9271
Blekinge Tekniska Högskola, Fakulteten för datavetenskaper, Institutionen för programvaruteknik.ORCID-id: 0000-0003-1350-7030
2022 (Engelska)Ingår i: JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, ISSN 2047-7473, Vol. 34, nr 2, artikel-id e2425Artikel i tidskrift (Refereegranskat) Published
Abstract [en]

Context: Technical Debt (TD) discusses the negative impact of sub-optimal decisions to cope with the need-for-speed in software development. Code Technical Debt Items (TDI) are atomic elements of TD that can be observed in code artifacts. Empirical results on open-source systems demonstrated how code-smells, which are just one type of TDIs, are introduced and "survive" during release cycles. However, little is known about whether the results on the survivability of code-smells hold for other types of code TDIs (i.e., bugs and vulnerabilities) and in industrial settings.Goal: Understanding the survivability of code TDIs by conducting an empirical study analyzing two industrial cases and 31 open-source systems from Apache Foundation. Method: We analyzed 144,476 code TDIs (35,372 from the industrial systems) detected by Sonarqube (in 193,196 commits) to assess their survivability using survivability models.Results: In general, code TDIs tend to remain and linger for long periods in open-source systems, whereas they are removed faster in industrial systems. Code TDIs that survive over a certain threshold tend to remain much longer, which confirms previous results. Our results also suggest that bugs tend to be removed faster, while code smells and vulnerabilities tend to survive longer.

Ort, förlag, år, upplaga, sidor
John Wiley & Sons, 2022. Vol. 34, nr 2, artikel-id e2425
Nyckelord [en]
bugs, code smells, code technical debt items, survivability, vulnerabilities
Nationell ämneskategori
Programvaruteknik
Identifikatorer
URN: urn:nbn:se:bth-21269DOI: 10.1002/smr.2425ISI: 000740993400001Scopus ID: 2-s2.0-85122929311OAI: oai:DiVA.org:bth-21269DiVA, id: diva2:1538415
Ingår i projekt
SERT- Software Engineering ReThought, KK-stiftelsenSHADE- A value-oriented strategy for managing the degradation of software assets, KK-stiftelsen
Forskningsfinansiär
KK-stiftelsen, 2017/0176KK-stiftelsen, 2018/010
Anmärkning

open access

Tillgänglig från: 2021-03-19 Skapad: 2021-03-19 Senast uppdaterad: 2025-09-30Bibliografiskt granskad
Ingår i avhandling
1. Towards Understanding Assets in Software Engineering
Öppna denna publikation i ny flik eller fönster >>Towards Understanding Assets in Software Engineering
2021 (Engelska)Licentiatavhandling, sammanläggning (Övrigt vetenskapligt)
Abstract [en]

The development of software products is a massive undertaking, and organisations have to manage all artefacts involved in the process. Managing such artefacts that, in many cases, become crucial assets is important for success. Recognising assets and letting them (unintentionally) degrade can result in maintainability problems. Thus, there is a need to create a structured and organised body of knowledge that can guide practitioners and researchers to deal with the assets during the product/service life-cycle. This includes, but is not limited to, what steps are needed to understand the assets’ degradation, investigating and examining the existing methods and metrics on how to estimate degradation and understanding the implication of assets’ value and degradation.

This licentiate’s main objective is contributing to the software engineering field by providing a different perspective on assets focusing on assets’ value for the organisation. We have used literature reviews, focus groups, case study, and sample study to address this objective. The collected data is from peer-reviewed work, collaboration with five company partners, and 31 OSS from Apache Foundation.

First, we have defined the concept and terminology in a position paper. We havecreated an asset management taxonomy based on a literature review and focus groups– fours focus groups conducted in 2019 with 29 participants. The extracted assets represent not only the stages of software development, from requirements to verificationand validation, but also operational and organisational perspectives. The taxonomy wascreated to be extendable as the field evolves and matures.

Then, we have performed a more in-depth investigation of selected asset types. As a part of studying assets, in a case study, we present the impact of bug-fixing,refactorings, and new development to investigate how source code degrades. In anothersample study, we examine the longevity of specific source-code related issues in 31OSS from Apache Foundation using statistical analysis.

The work done in this licentiate includes: defining the asset concept and relatedterminology, identifying assets and creating a taxonomy of assets, presenting the preliminary investigation of tools and methods to understand source-code and architecturerelated asset degradation.

We conclude that a good understanding of the relevant assets for the inception,planning, development, evolution, and maintenance of software-intensive products andservices is necessary to study their value degradation. Our work builds on currentmethods and details the underlying concepts attempting to homogenise definitions andbring the areas of assets and degradation together. A natural progression of our workis to investigate the measurements to evaluate the degradation of assets. This licentiate thesis starts investigating the value degradation of source-code related assets. We planto continue investigating the degradation of architecture in our future work.

Ort, förlag, år, upplaga, sidor
Karlskrona: Blekinge Tekniska Högskola, 2021. s. 136
Serie
Blekinge Institute of Technology Licentiate Dissertation Series, ISSN 1650-2140 ; 3
Nyckelord
Assets in Software Engineering, Asset Management, Asset Degradation
Nationell ämneskategori
Programvaruteknik
Forskningsämne
Programvaruteknik
Identifikatorer
urn:nbn:se:bth-21270 (URN)978-91-7295-418-2 (ISBN)
Presentation
2021-04-27, Zoom, 13:00 (Engelska)
Opponent
Handledare
Tillgänglig från: 2021-03-19 Skapad: 2021-03-19 Senast uppdaterad: 2025-09-30Bibliografiskt granskad
2. Understanding Asset Degradation in Software Engineering
Öppna denna publikation i ny flik eller fönster >>Understanding Asset Degradation in Software Engineering
2023 (Engelska)Doktorsavhandling, sammanläggning (Övrigt vetenskapligt)
Abstract [en]

Background: As software is everywhere, and almost every company has nowadays a dependency on software, designing and developing software-intensive products or services has become significantly challenging and time-consuming. The challenges are due to the continuous growth of the size and complexity of software and the fast pace of change. It is important that software-developing organisations’ engineering practices adapt to the rising challenges by adopting well-engineered development activities. Organisations deal with many software artefacts, some of which are more relevant for the organisation. We define Software Assets as artefacts intended to be used more than once. Given softwared evelopment’s continuous and evolutionary aspect, the assets involved degrade over time. Organisations need to understand what assets are relevant and how they degrade to exercise quality control over software assets. Asset degradation is inevitable, and it may manifest in different ways. 

Objective: The main objective of this thesis is: (i) to contribute to the software engineering body of knowledge by providing an understanding of what assets are and how they degrade; and (ii) to gather empirical evidence regarding asset degradation and different factors that might impact it on industrial settings. 

Method: To achieve the thesis goals, several studies have been conducted. The collected data is from peer-reviewed literature and collaboration with five companies that included extracting archival data from over 20 million LOC and archival data from open-source repositories. 

Results: The first contribution of this thesis is defining the concept of assets and asset degradation in a position paper. We aim to provide an understanding of software assets and asset degradation and its impact on software development.  Additionally, a taxonomy of assets is created using academic and industrial input. The taxonomy includes 57 assets and their categories. To further investigate the concept of asset degradation, we have conducted in-depth analyses of multiple industrial case studies on selected assets. This thesis presents results to provide evidence on the impact of different factors on asset degradation, including: (I) how the accumulation of technical debt is affected by different development activities; (ii) how degradation ‘survives’; and (iii) how working from home or the misalignment between ownership and contribution impacts the faster accumulation of asset degradation. Additionally, we created a model to calculate the degree of the alignment between ownership and contribution to code. 

Conclusion: The results can help organisations identify and understand the relevant software assets and characterize their quality degradation. Understanding how assets degrade and which factors might impact their faster accumulation is the first step to conducting sufficient and practical asset management activities. For example, by engaging (i) proactively in preventing uncontrolled growth of degradation (e.g., aligning ownership and contribution); and (ii) reactively in prioritizing mitigation strategies and activities (focusing on recently introducing TD items).

Ort, förlag, år, upplaga, sidor
Karlskrona: Blekinge Tekniska Högskola, 2023
Serie
Blekinge Institute of Technology Doctoral Dissertation Series, ISSN 1653-2090 ; 5
Nyckelord
Assets in Software Engineering, Asset Management, Asset Degradation, Technical Debt
Nationell ämneskategori
Programvaruteknik
Forskningsämne
Programvaruteknik
Identifikatorer
urn:nbn:se:bth-24429 (URN)978-91-7295-455-7 (ISBN)
Disputation
2023-05-31, J1630 och Zoom, Campus Karlskrona, Karlskrona, 13:00 (Engelska)
Opponent
Handledare
Tillgänglig från: 2023-04-12 Skapad: 2023-04-11 Senast uppdaterad: 2025-09-30Bibliografiskt granskad

Open Access i DiVA

fulltext(4852 kB)494 nedladdningar
Filinformation
Filnamn FULLTEXT01.pdfFilstorlek 4852 kBChecksumma SHA-512
e5ca423fd3462454e156053bd70e1094ce2dd98cd7caf547f4793fba20825ee9a913fd5b5b5e06377b113eb6366760fab8049779f219a3e45802ed0ac0382f9c
Typ fulltextMimetyp application/pdf

Övriga länkar

Förlagets fulltextScopus

Sök vidare i DiVA

Av författaren/redaktören
Zabardast, EhsanBennin, Kwabena EboGonzalez-Huerta, Javier
Av organisationen
Institutionen för programvaruteknik
Programvaruteknik

Sök vidare utanför DiVA

GoogleGoogle Scholar
Totalt: 496 nedladdningar
Antalet nedladdningar är summan av nedladdningar för alla fulltexter. Det kan inkludera t.ex tidigare versioner som nu inte längre är tillgängliga.

doi
urn-nbn

Altmetricpoäng

doi
urn-nbn
Totalt: 483 träffar
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf