Dependency Detection and Migration in Software Systems and Libraries

atmire.migration.oldid2647
dc.contributor.advisorWalker, Robert James
dc.contributor.authorCossette, Bradley Edward
dc.date.accessioned2014-10-01T15:40:36Z
dc.date.available2014-11-17T08:00:52Z
dc.date.issued2014-10-01
dc.date.submitted2014en
dc.description.abstractSoftware systems must change over time or risk becoming obsolete, but direct changes can impact dependent functionality. Software developers perform change impact analysis and redress using automated tools to identify dependency relationships affected by change, and to recommend adaptations. However, these tools are restricted in their application: dependency analysis tools are language-specific but many systems are implemented using multiple languages, while recommenders are poor at identifying adaptations for change impacts from external libraries. This work proposes using semi-automated approaches for supporting change impact analysis and redress, in which the developer is relied upon to provide key details of dependency syntax or examples of correct adaptations. From such information, tool support can be generated that is appropriately configured for the developer’s software, and that can be further refined by the developer through additional details or examples until it is sufficiently accurate for their needs. Four studies validate this thesis. The first involves the semi-automated DSKETCH tool for polylingual dependency analysis, which requires developers to detail only key syntax using a simplified notation; it then uses this syntax to identify where potential dependencies exist. Developers were able to successfully configure and use DSKETCH on polylingual systems with only a short period of training. The second study examines how software libraries and their application programming interfaces (APIs) evolve over successive versions. The study found that existing recommenders are generally unsuccessful, and that most observed changes could not be automatically migrated. The third study introduces the UMAMI tool that detects correspondences between the syntactic structure of the old API functionality and possible replacements in the new library version to recommend adaptations for API changes. The fourth study examines how change recommenders could be hybridized in a flexible fashion, by relying on developer-provided examples of correct redress of API changes to tailor recommendations to a library’s particular characteristics.en_US
dc.identifier.citationCossette, B. E. (2014). Dependency Detection and Migration in Software Systems and Libraries (Doctoral thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca. doi:10.11575/PRISM/25551en_US
dc.identifier.doihttp://dx.doi.org/10.11575/PRISM/25551
dc.identifier.urihttp://hdl.handle.net/11023/1902
dc.language.isoeng
dc.publisher.facultyGraduate Studies
dc.publisher.institutionUniversity of Calgaryen
dc.publisher.placeCalgaryen
dc.rightsUniversity of Calgary graduate students retain copyright ownership and moral rights for their thesis. You may use this material in any way that is permitted by the Copyright Act or through licensing that has been assigned to the document. For uses that are not allowable under copyright legislation or licensing, you are required to seek permission.
dc.subjectComputer Science
dc.subject.classificationsoftware engineeringen_US
dc.subject.classificationpolylingual dependency analysisen_US
dc.subject.classificationlibrary migrationen_US
dc.subject.classificationanti-unificationen_US
dc.subject.classificationlibrary migration corpusen_US
dc.titleDependency Detection and Migration in Software Systems and Libraries
dc.typedoctoral thesis
thesis.degree.disciplineComputer Science
thesis.degree.grantorUniversity of Calgary
thesis.degree.nameDoctor of Philosophy (PhD)
ucalgary.item.requestcopytrue
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
ucalgary_2014_cossette_bradley.pdf
Size:
2.31 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
2.65 KB
Format:
Item-specific license agreed upon to submission
Description: