An in-depth study of software library upgrade dependency issues

With the increasing complexity of software systems, the reliance on third-party software libraries has become a standard practice to enhance development efficiency. However, this dependency introduces the challenge of coevolution incompatibility (CI) where version mismatches between interconnected l...

Full description

Saved in:
Bibliographic Details
Main Author: Lau, Xin Wei
Other Authors: Li Yi (SCSE)
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2024
Subjects:
Online Access:https://hdl.handle.net/10356/175116
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-175116
record_format dspace
spelling sg-ntu-dr.10356-1751162024-04-26T15:40:32Z An in-depth study of software library upgrade dependency issues Lau, Xin Wei Li Yi (SCSE) School of Computer Science and Engineering yi_li@ntu.edu.sg Computer and Information Science Software engineering Coevolution incompatibility Dependency management With the increasing complexity of software systems, the reliance on third-party software libraries has become a standard practice to enhance development efficiency. However, this dependency introduces the challenge of coevolution incompatibility (CI) where version mismatches between interconnected libraries can lead to conflicts and potential vulnerabilities. This study delves into the intricacies of CI by investigating Java software libraries, and aims to understand the underlying causes and impacts on software systems. Through comprehensive analysis, error classifications, and case studies, the study revealed common challenges faced in dependency management and highlights best practices such as explicit dependency management, the use of software bills of materials (BOMs), and detailed change logs. Furthermore, the study also identified several potential solutions for addressing CI issues and discussing the trade-offs associated with each approach. These insights are critical for making informed decisions when selecting strategies for dependency management. The findings reveal the significance of proactive dependency management in mitigating CI issues and ensuring compatibility between third-party software libraries and the systems that utilise them. This study helps to gain both academic and practical understanding of CI in software libraries, providing actionable insights for both developers and library maintainers. By adopting the recommended practices, developers can enhance the resilience and security of their software systems, thereby reducing the risk of vulnerabilities and ensuring smoother integration of third-party libraries. Bachelor's degree 2024-04-22T01:00:52Z 2024-04-22T01:00:52Z 2024 Final Year Project (FYP) Lau, X. W. (2024). An in-depth study of software library upgrade dependency issues. Final Year Project (FYP), Nanyang Technological University, Singapore. https://hdl.handle.net/10356/175116 https://hdl.handle.net/10356/175116 en SCSE23-0181 application/pdf Nanyang Technological University
institution Nanyang Technological University
building NTU Library
continent Asia
country Singapore
Singapore
content_provider NTU Library
collection DR-NTU
language English
topic Computer and Information Science
Software engineering
Coevolution incompatibility
Dependency management
spellingShingle Computer and Information Science
Software engineering
Coevolution incompatibility
Dependency management
Lau, Xin Wei
An in-depth study of software library upgrade dependency issues
description With the increasing complexity of software systems, the reliance on third-party software libraries has become a standard practice to enhance development efficiency. However, this dependency introduces the challenge of coevolution incompatibility (CI) where version mismatches between interconnected libraries can lead to conflicts and potential vulnerabilities. This study delves into the intricacies of CI by investigating Java software libraries, and aims to understand the underlying causes and impacts on software systems. Through comprehensive analysis, error classifications, and case studies, the study revealed common challenges faced in dependency management and highlights best practices such as explicit dependency management, the use of software bills of materials (BOMs), and detailed change logs. Furthermore, the study also identified several potential solutions for addressing CI issues and discussing the trade-offs associated with each approach. These insights are critical for making informed decisions when selecting strategies for dependency management. The findings reveal the significance of proactive dependency management in mitigating CI issues and ensuring compatibility between third-party software libraries and the systems that utilise them. This study helps to gain both academic and practical understanding of CI in software libraries, providing actionable insights for both developers and library maintainers. By adopting the recommended practices, developers can enhance the resilience and security of their software systems, thereby reducing the risk of vulnerabilities and ensuring smoother integration of third-party libraries.
author2 Li Yi (SCSE)
author_facet Li Yi (SCSE)
Lau, Xin Wei
format Final Year Project
author Lau, Xin Wei
author_sort Lau, Xin Wei
title An in-depth study of software library upgrade dependency issues
title_short An in-depth study of software library upgrade dependency issues
title_full An in-depth study of software library upgrade dependency issues
title_fullStr An in-depth study of software library upgrade dependency issues
title_full_unstemmed An in-depth study of software library upgrade dependency issues
title_sort in-depth study of software library upgrade dependency issues
publisher Nanyang Technological University
publishDate 2024
url https://hdl.handle.net/10356/175116
_version_ 1800916112897998848