Abstract

Third-party libraries are used frequently in modern software development. Websites that are visited millions of times a day often make heavy use of open-source software libraries. As a software developer, using these libraries has a number of advantages. Developers save time and effort because functionality does not have to be rebuilt from scratch. Additionally, these libraries are often completely free to use, have been tested extensively by other users and contain a large amount of expertise of other developers. There are also a number of disadvantages to using these libraries. When the interface of a software library changes, this has direct impact on software systems using this interface. In this thesis, the origin, impact and costs of interface instability is investigated. As it turns out, public interfaces of software libraries frequently change without providing proper signals to users of that interface. These changes have measurable impact in systems using these interfaces. Besides changes in interfaces, changes in functionality can also impact end users of a library. In this thesis, compression is employed to measure changes in functionality that a library provides. These changes in functionality are then used in a software growth model that relates the concepts of software growth, quality, work done and size to each other.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.