Scalable Encoding of Modularized Dependency Graphs for Fast Analysis

Date
2021-08-27
Journal Title
Journal ISSN
Volume Title
Publisher
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.
Description
Keywords
Change impact analysis, dependency analysis, memoization, serialization, database, relational database, non relational database, protobuf, json.net, binary formatter, MySQL, PostgreSQL, Neo4J, Software engineering, change propagation
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.