Scalable Encoding of Modularized Dependency Graphs for Fast Analysis
dc.contributor.advisor | J. Walker, Robert | |
dc.contributor.author | Singh, Kanishka | |
dc.contributor.committeemember | Elhajj, Reda | |
dc.contributor.committeemember | Krishnamurthy, Diwakar | |
dc.date | 2021-11 | |
dc.date.accessioned | 2021-09-07T14:26:47Z | |
dc.date.available | 2021-09-07T14:26:47Z | |
dc.date.issued | 2021-08-27 | |
dc.description.abstract | Software development and analysis tools (SDATs) typically contain complex models that are expensive to compute, and whose expense grows significantly depending on the size of the software system under analysis. When these models are not stored in a manner that allows them to be restored after program restart, that expense is not amortized; re-computation results in undesirable downtime in the developer’s daily workflow. This thesis aims to find the most suitable approach for storing and persisting the models of a specific change propagation tool, ModCP. Existing work to study and identify optimal storage technology has been evaluated using datasets either that are randomly generated---not simulating the nature of real-world software---or that derive from excessively small software systems for which recomputing would be feasible. This thesis explores and implements potentially beneficial datastore technologies in ModCP and compares them on subjective and objective measures against the baseline (time to fully re-building the models) and each other to determine whether storage integration is feasible and significant reduction in the downtime can be achieved. The cost of re-building the model of ModCP can be reduced by 13--46 times, for the datasets we tried, by using specific serialization technology; in contrast, the use of database technologies involves high overhead for read/write queries through database connectors, making them unsuitable as an option for improvement of performance in SDATs. | en_US |
dc.identifier.citation | Singh, K. (2021). Scalable Encoding of Modularized Dependency Graphs for Fast Analysis (Master's thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca. | en_US |
dc.identifier.doi | http://dx.doi.org/10.11575/PRISM/39159 | |
dc.identifier.uri | http://hdl.handle.net/1880/113816 | |
dc.language.iso | eng | en_US |
dc.publisher.faculty | Science | en_US |
dc.publisher.institution | University of Calgary | en |
dc.rights | University 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.subject | Change impact analysis | en_US |
dc.subject | dependency analysis | en_US |
dc.subject | memoization | en_US |
dc.subject | serialization | en_US |
dc.subject | database | en_US |
dc.subject | relational database | en_US |
dc.subject | non relational database | en_US |
dc.subject | protobuf | en_US |
dc.subject | json.net | en_US |
dc.subject | binary formatter | en_US |
dc.subject | MySQL | en_US |
dc.subject | PostgreSQL | en_US |
dc.subject | Neo4J | en_US |
dc.subject | Software engineering | en_US |
dc.subject | change propagation | en_US |
dc.subject.classification | Computer Science | en_US |
dc.title | Scalable Encoding of Modularized Dependency Graphs for Fast Analysis | en_US |
dc.type | master thesis | en_US |
thesis.degree.discipline | Computer Science | en_US |
thesis.degree.grantor | University of Calgary | en_US |
thesis.degree.name | Master of Science (MSc) | en_US |
ucalgary.item.requestcopy | true | en_US |