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 |
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 |