Modular Dependency Analysis in Heterogeneous Software Systems

dc.contributor.advisorWalker, Robert J.
dc.contributor.authorAfzal, Raheela
dc.contributor.committeememberAycock, John
dc.contributor.committeememberRuhe, Guenther
dc.date2020-11
dc.date.accessioned2020-09-30T18:50:26Z
dc.date.available2020-09-30T18:50:26Z
dc.date.issued2020-09-25
dc.description.abstractOne way to develop and manage software systems is to build them using reusable components instead of developing them from the ground up. Over the past two decades, there has been growth in the use of multiple programming languages to develop a software system; we refer to such systems as heterogeneous software systems. Several technologies have been introduced to make the bridging of languages in these systems easier. Software analysis, e.g., change impact analysis and change propagation, helps in retaining consistency within the software system. While there exist many single-language approaches to perform change propagation for homogeneous systems, there is a lack of analogous research on heterogeneous systems. Inter-language dependencies, known as cross-language links, are the root cause of issues for a complete analysis of such systems. This thesis contributes a method to support change propagation by building upon an existing dependency analysis model to design a standard meta-model for multiple languages called a unified meta-model. We use abstract syntax representation models to act as modules for each language to be plugged into the meta-model for every new language introduced. We present a novel approach for cross-language analysis that is generalizable to new languages and does not require hard coding of bridging semantics. We adapt an existing framework to accommodate dependency analysis, which is performed using static source code analysis, as well as program slicing for heterogeneous systems. We identify the cross-language links between sets of languages based on an initial study of technologies that allow bridging between languages. The single-language analysis is used as the baseline for the evaluation while our approach is a cross-language analysis. The study revealed that cross-links are identified with a static source code analysis. We evaluated our approach for effectiveness, scalability, and accuracy on 15 homogeneous systems, 5 for each language among C#, Python, and TSQL. Additionally, to evaluate the cross-link identification process, we studied 6 heterogeneous software systems and compared our results against the actual execution path to evaluate the accuracy of cross-links. Our results show that our approach is able to correctly identify cross-language links with an F-score of over 75% for the set of evaluated projects.en_US
dc.identifier.citationAfzal, R. (2020). Modular Dependency Analysis in Heterogeneous Software Systems (Master's thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca.en_US
dc.identifier.doihttp://dx.doi.org/10.11575/PRISM/38313
dc.identifier.urihttp://hdl.handle.net/1880/112654
dc.language.isoengen_US
dc.publisher.facultyScienceen_US
dc.publisher.institutionUniversity of Calgaryen
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.en_US
dc.subjectsoftware engineeringen_US
dc.subjectdependency analysisen_US
dc.subjectcross-language analysisen_US
dc.subjectmulti-language systemsen_US
dc.subject.classificationComputer Scienceen_US
dc.titleModular Dependency Analysis in Heterogeneous Software Systemsen_US
dc.typemaster thesisen_US
thesis.degree.disciplineComputer Scienceen_US
thesis.degree.grantorUniversity of Calgaryen_US
thesis.degree.nameMaster of Science (MSc)en_US
ucalgary.item.requestcopytrueen_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
ucalgary_2020_afzal_raheela.pdf
Size:
4.05 MB
Format:
Adobe Portable Document Format
Description:
Thesis document
License bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
2.62 KB
Format:
Item-specific license agreed upon to submission
Description: