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
Description
Summary: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.