Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
On Identifying Technical Debt using Bug Reports in Practice
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. Ericsson AB.ORCID iD: 0000-0002-5027-9316
2023 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]

Context: In an era where every industry is impacted by software, it is vital to keep software costs under control for organizations to be competitive. A key factor contributing to software costs is software maintenance where a significant proportion is utilized to deal with different types of technical debt. Technical debt is a metaphor used to describe the cost of taking shortcuts or sub-optimal design and implementation that compromises the software quality. Similar to financial debt, technical debt needs to be paid off in the future.

Objective: To be in control of technical debt related costs, organizations need to identify technical debt types and quantify them to introduce solutions and prioritize repayment strategies. However, the invisible nature of technical debt makes its identification challenging in practice. Our aim is to find pragmatic ways to identify technical debt in practice, that can be supported by evidence. Once technical debt types that are significant have been identified, we aim to propose suggestions to mitigate them.

Method: We used design science as a methodological framework to iteratively improve the technical debt identification methods. We utilized bug reports, which are artifacts produced by software engineers during the development and operation of the software system  as the data source for technical debt identification. Software defects reported through bug reports are considered as one of the key external quality attributes of a software system  which supports us in our evidence based approach. Throughout the design science iterations, we used the following research methods: case study and sample study.

Results: We produced three design artifacts that support technical debt identification. The first artifact is a systematic process to identify architectural technical debt from bug reports. The second is an automated bug analysis and a visualization tool to support our research as well as to support practitioners to identify components with hot spots in relation to the number of defects. The third is a method for identifying documentation debt from bug reports.

Conclusion: Based on the findings from this thesis, we demonstrated that bug reports can be utilized as a data source to identify technical debt in practice by identifying two types of technical debt; architectural technical debt and documentation debt. Compared to the identification of documentation debt, architectural technical debt identification still remains challenging due to the abstract nature of the architecture and its boundaries. Therefore, our future work will focus on evaluating the impact of reducing the sources of documentation debt on the frequency of bug reports and overall project cost.

Place, publisher, year, edition, pages
Karlskrona: Blekinge Tekniska Högskola, 2023.
Series
Blekinge Institute of Technology Licentiate Dissertation Series, ISSN 1650-2140 ; 2023:06
Keywords [en]
Technical Debt, Architectural Technical Debt, Documentation Debt, Empirical Software Engineering, Design Science
National Category
Software Engineering
Research subject
Software Engineering
Identifiers
URN: urn:nbn:se:bth-24462ISBN: 978-91-7295-458-8 (print)OAI: oai:DiVA.org:bth-24462DiVA, id: diva2:1752643
Presentation
2023-06-12, Karlskrona, 09:00 (English)
Opponent
Supervisors
Available from: 2023-04-24 Created: 2023-04-24 Last updated: 2023-06-02Bibliographically approved
List of papers
1. On designing a process for identifying Architectural Technical Debt from Bug Reports
Open this publication in new window or tab >>On designing a process for identifying Architectural Technical Debt from Bug Reports
(English)Manuscript (preprint) (Other academic)
Abstract [en]

Background: A key challenge with Architectural Technical Debt (ATD) is ATD identification. Most existing methods use source code analysis that does not capture the hidden ATD in the architecture design. A few studies focus on ATD identification in software architecture design, but it is unclear whether they can scale to industrial contexts.

Objectives: We design and illustrate the evolution of an efficient ATD identification process using bug reports. Furthermore, we validate the process by analyzing actual bug reports filed by customers.

Method: Design Science Research was used to design and evolve an ATD identification process in three design iterations. The iterations were conducted at Ericsson, focusing on improving the process to scale in large software-intensive systems.

Results: We report how we engineered the ATD identification process. In particular, we illustrate the results from each design iteration, discuss the lessons learnt, and demonstrate the implementation of the final ATD identification process for decision-making activities at Ericsson. We identified 30 ATD related defects from a random sample of 251 bug reports that spanned over four releases of the system we investigated.

Conclusions: Our study indicates that bug reports can be used as a data source for identifying ATD using our proposed process and decision-making activities. Furthermore, we emphasize the need for clarity and consensus among the stakeholders regarding the scope and boundaries of architectural components that constitute a software system for the ATD analysis to be relevant.

National Category
Software Engineering
Research subject
Software Engineering
Identifiers
urn:nbn:se:bth-24656 (URN)
Available from: 2023-05-30 Created: 2023-05-30 Last updated: 2024-10-10Bibliographically approved
2. MultiDimEr: A Multi-Dimensional bug analyzEr
Open this publication in new window or tab >>MultiDimEr: A Multi-Dimensional bug analyzEr
2022 (English)In: Proceedings - International Conference on Technical Debt 2022, TechDebt 2022, Institute of Electrical and Electronics Engineers (IEEE), 2022, p. 66-70Conference paper, Published paper (Refereed)
Abstract [en]

Background: Bugs and bug management consumes a significant amount of time and effort from software development organizations. A reduction in bugs can significantly improve the capacity for new feature development. Aims: We categorize and visualize dimensions of bug reports to identify accruing technical debt. This evidence can serve practitioners and decision makers not only as an argumentative basis for steering improvement efforts, but also as a starting point for root cause analysis, reducing overall bug inflow. Method: We implemented a tool, MultiDimEr, that analyzes and visualizes bug reports. The tool was implemented and evaluated at Ericsson. Results: We present our preliminary findings using the MultiDimEr for bug analysis, where we successfully identified components generating most of the bugs and bug trends within certain components. Conclusions: By analyzing the dimensions provided by MultiDimEr, we show that classifying and visualizing bug reports in different dimensions can stimulate discussions around bug hot spots as well as validating the accuracy of manually entered bug report attributes used in technical debt measurements such as fault slip through. © 2022 ACM.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2022
Keywords
Decision making, Fault slips, Program debugging, % reductions, Bug analyse, Bug managements, Bug reports, Bug visualization, Multi dimensional, Soft-ware maintenance, Software development organizations, Technical debts, Tool support, Software design, bug analysis, bug management, technical debt
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-23552 (URN)10.1145/3524843.3528099 (DOI)000852810000009 ()2-s2.0-85134351712 (Scopus ID)9781450393041 (ISBN)
Conference
5th International Conference on Technical Debt, TechDebt 2022, Pittsburgh, 17 May 2022 through 18 May 2022
Note

open access

Available from: 2022-08-15 Created: 2022-08-15 Last updated: 2024-10-10Bibliographically approved
3. Towards identifying and minimizing customer-facing documentation debt
Open this publication in new window or tab >>Towards identifying and minimizing customer-facing documentation debt
2023 (English)In: Proceedings - 2023 ACM/IEEE International Conference on Technical Debt, TechDebt 2023, Institute of Electrical and Electronics Engineers (IEEE), 2023, p. 72-81Conference paper, Published paper (Refereed)
Abstract [en]

Background: Software documentation often struggles to catch up with the pace of software evolution. The lack of correct, complete, and up-to-date documentation results in an increasing number of documentation defects which could introduce delays in integrating software systems. In our previous study on a bug analysis tool called MultiDimEr, we provided evidence that documentation-related defects contribute to a significant number of bug reports.

Aims: First, we want to identify documentation defect types contributing to documentation defects and thereby identifying documentation debt. Secondly, we aim to find pragmatic solutions to minimize most common documentation defects to pay off the documentation debt in the long run.

Method: We investigated documentation defects related to an industrial software system. First, we looked at the types of different documentation and associated bug reports. We categorized the defects according to an existing documentation defect taxonomy.

Results: Based on a sample of 101 defects, we found that a majority of defects are caused by documentation defects falling into the Information Content (What) category (86). Within this category, the documentation defect types Erroneous code examples (23), Missing documentation (35), and Outdated content (19) contributed to most of the documentation defects. We propose to adapt two solutions to mitigate these types of documentation defects.

Conclusions: In practice, documentation debt can easily go undetected since a large share of resources and focus is dedicated to deliver high-quality software. This study provides evidence that documentation debt can contribute to increase in maintenance costs due to the number of documentation defects. We suggest to adapt two main solutions to tackle documentation debt by implementing (i) Dynamic Documentation Generation (DDG) and/or (ii) Automated Documentation Testing (ADT), which are both based on defining a single and robust information source for documentation.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2023
Keywords
Documentation Debt, Technical Debt, Automation
National Category
Software Engineering
Research subject
Software Engineering
Identifiers
urn:nbn:se:bth-24654 (URN)10.1109/TechDebt59074.2023.00015 (DOI)001051233000009 ()2-s2.0-85169420574 (Scopus ID)
Conference
6th International Conference on Technical Debt, TechDebt 2023, Melbourne, Australia, 14 May 2023 through 15 May 2023
Available from: 2023-05-30 Created: 2023-05-30 Last updated: 2024-10-10Bibliographically approved

Open Access in DiVA

fulltext(2188 kB)272 downloads
File information
File name FULLTEXT01.pdfFile size 2188 kBChecksum SHA-512
f1ba7fad9266d8b053b2319b28b1ca792fd5e2c66d67a85827931dfed03ba1921be9a0bdb7bc4cc6bc2a24a357f92a6c27ec0cd572cab29e137810cfae44c2f2
Type fulltextMimetype application/pdf

Authority records

Silva, Lakmal

Search in DiVA

By author/editor
Silva, Lakmal
By organisation
Department of Software Engineering
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 272 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 579 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf