Fast and Scalable Change Propagation through Context-Insensitive Slicing

dc.contributor.advisorWalker, Robert J.
dc.contributor.advisorDenzinger, Jörg
dc.contributor.advisorAycock, John Daniel
dc.contributor.authorMen, Hao
dc.contributor.committeememberGhaderi, Majid
dc.contributor.committeememberAtlee, Joanne M.
dc.date2019-06
dc.date.accessioned2018-12-18T17:23:22Z
dc.date.available2018-12-18T17:23:22Z
dc.date.issued2018-12-17
dc.description.abstractChange propagation (CP) is an activity to restore systems from inconsistent states caused by changes to their source code. Because where the inconsistencies happen is usually unknown, the current practice relies on code navigation facilities provided by integrated development environments (IDEs) to search every relevant piece of code. However, the work becomes difficult due to the increasing complexity and size of the code; inconsistencies are missed due to the lack of a systematic approach to the search and navigation. Current research approaches struggle between efficiency and effectiveness. Those working at fine-grained levels can produce very precise results, but they are hard to integrate into daily development practice for industrial developers due to a lack of scalability and maintainability; those working at coarse-grained levels are fast but generate lots of false positives, placing a heavy burden on developers. The thesis of this dissertation is that by combining the advantages of both fine- and coarse-grained approaches, we can support CP tasks for programmers efficiently in daily development. We propose a novel dependency model, providing algorithms to incrementally update the model and to produce results by tracing statement-level dependencies. Based on these, we implement a prototype tool called ModCP to support CP by an interactive workflow. We conduct several studies to evaluate our approach against current ones. We find that our model scales to large code bases, in terms of both space and time; that incremental maintenance can quickly synchronize the model with changes, saving over 96% of time on average for large systems compared to rebuilding the model; and that our approach consistently outperforms the alternatives in terms of F-score. Furthermore, we conduct an experiment to evaluate developer use of ModCP against a standard IDE-based CP methodology, showing that developers can complete these tasks faster by using our tool than by IDEs, with improved effectiveness; for complex tasks, the time savings (statistically significant) can reach approximately 50%.en_US
dc.identifier.citationMen, H. (2018). Fast and Scalable Change Propagation through Context-Insensitive Slicing (Doctoral thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca.en_US
dc.identifier.doihttp://dx.doi.org/10.11575/PRISM/34987
dc.identifier.urihttp://hdl.handle.net/1880/109367
dc.language.isoenen_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.subject.classificationComputer Scienceen_US
dc.titleFast and Scalable Change Propagation through Context-Insensitive Slicingen_US
dc.typedoctoral thesisen_US
thesis.degree.disciplineComputer Scienceen_US
thesis.degree.grantorUniversity of Calgaryen_US
thesis.degree.nameDoctor of Philosophy (PhD)en_US
ucalgary.item.requestcopytrue
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
ucalgary_2018_men_hao.pdf
Size:
1.95 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.74 KB
Format:
Item-specific license agreed upon to submission
Description: