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...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
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 |