An in-depth study of software library upgrade dependency issues

Software libraries are commonly used in software projects to reduce development time and effort spent. However, when a new version of the library is released, often it is not straightforward to upgrade the library dependency because the newer version of the library have made changes incompatible wit...

Full description

Saved in:
Bibliographic Details
Main Author: Wang, Leonard Guan Zhi
Other Authors: Li Yi
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2021
Subjects:
Online Access:https://hdl.handle.net/10356/148394
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-148394
record_format dspace
spelling sg-ntu-dr.10356-1483942021-05-01T13:03:27Z An in-depth study of software library upgrade dependency issues Wang, Leonard Guan Zhi Li Yi School of Computer Science and Engineering yi_li@ntu.edu.sg Engineering::Computer science and engineering::Software::Software engineering Software libraries are commonly used in software projects to reduce development time and effort spent. However, when a new version of the library is released, often it is not straightforward to upgrade the library dependency because the newer version of the library have made changes incompatible with the current software and can cause it to fail. The objective of this project was to improve the prototype of CompCheck, an automated upgrade compatibility checking framework, by implementing serialization and deserialization of the object arguments of the incompatibility-causing library method using XStream library. After serialization, the object arguments would then be deserialized when running incompatibility-revealing tests generated for new clients with the same library dependency and similar usage context. Our evaluation experiments showed that this improved prototype was fairly effective in serializing the objects arguments of the incompatible library method and quite effective in generating incompatibility-revealing tests for methods in new client projects. The improved CompCheck prototype can now be a useful tool for developers to make it much easier to discover incompatibility issues when upgrading their software library dependencies and make the necessary bug fixes. Bachelor of Engineering (Computer Science) 2021-05-01T13:03:26Z 2021-05-01T13:03:26Z 2021 Final Year Project (FYP) Wang, L. G. Z. (2021). An in-depth study of software library upgrade dependency issues. Final Year Project (FYP), Nanyang Technological University, Singapore. https://hdl.handle.net/10356/148394 https://hdl.handle.net/10356/148394 en 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 Engineering::Computer science and engineering::Software::Software engineering
spellingShingle Engineering::Computer science and engineering::Software::Software engineering
Wang, Leonard Guan Zhi
An in-depth study of software library upgrade dependency issues
description Software libraries are commonly used in software projects to reduce development time and effort spent. However, when a new version of the library is released, often it is not straightforward to upgrade the library dependency because the newer version of the library have made changes incompatible with the current software and can cause it to fail. The objective of this project was to improve the prototype of CompCheck, an automated upgrade compatibility checking framework, by implementing serialization and deserialization of the object arguments of the incompatibility-causing library method using XStream library. After serialization, the object arguments would then be deserialized when running incompatibility-revealing tests generated for new clients with the same library dependency and similar usage context. Our evaluation experiments showed that this improved prototype was fairly effective in serializing the objects arguments of the incompatible library method and quite effective in generating incompatibility-revealing tests for methods in new client projects. The improved CompCheck prototype can now be a useful tool for developers to make it much easier to discover incompatibility issues when upgrading their software library dependencies and make the necessary bug fixes.
author2 Li Yi
author_facet Li Yi
Wang, Leonard Guan Zhi
format Final Year Project
author Wang, Leonard Guan Zhi
author_sort Wang, Leonard Guan Zhi
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 2021
url https://hdl.handle.net/10356/148394
_version_ 1698713729208680448