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