University of Notre Dame
Browse
CaiH072015D.pdf (3.48 MB)

Cost-Effective Dependency Analysis for Reliable Software Evolution

Download (3.48 MB)
thesis
posted on 2015-07-20, 00:00 authored by Haipeng Cai

Program dependency analysis is a fundamental approach to code-based impact prediction which underlies change planning and management, as well as a range of other dependency-based client analyses such as testing, debugging, and comprehension, all of which are crucial for reliable software evolution. However, existing such approaches suffer from difficult cost-effectiveness balancing: Fine-grained analyses offer detailed but large results at prohibitive costs, whereas coarser analyses achieve better efficiency at the cost of great imprecision. In addition, current techniques have little utility when applied to distributed systems consisting of decoupled components. This dissertation addresses these challenges via three novel approaches to cost-effective dependency analysis, followed by a comprehensive study of prior alternatives. First, a quantitative semantic-dependency analysis is presented to separate program entities by relevance so as to prioritize impact prediction at statement level. The second approach exploits a diverse set of hybrid techniques that combine static and dynamic dependency analysis to offer not only improved but variable cost-effectiveness to fit varying budgets and task scenarios for impact prediction at method level. Finally, an efficient dynamic analysis is developed to discover method-level runtime dependencies both within and across multiple concurrent processes, which is shown instrumental in evolving distributed systems.

History

Date Modified

2017-06-05

Defense Date

2015-07-13

Research Director(s)

Douglas Thain

Committee Members

Aaron Striegel Collin McMillan Raul Santelices

Degree

  • Doctor of Philosophy

Degree Level

  • Doctoral Dissertation

Language

  • English

Program Name

  • Computer Science and Engineering

Usage metrics

    Dissertations

    Categories

    No categories selected

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC