Oral Candidacy - Haipeng Cai
|Start:||12/5/2014 at 2:00PM|
|End:||12/5/2014 at 5:00PM|
|Location:||117 I Cushing Hall|
December 5, 2014 117 I Cushing Hall 2:00 pm
Dr. Douglas Thain
Dr. Colin McMillan Dr. Raul Santelices Dr. Aaron Striegel
Title:Cost-effective Dependence Analyses for Reliable Software EvolutionAbstract:While constant changes drive software evolution that characterizes the modern paradigm of software engineering, they also pose serious risks to the quality and reliability of evolving software. Thus, it is crucial to predict the impacts of those changes before they are designed and applied, so as to enable the early assessment of their potential consequences. A fundamental approach to that end is to analyze program dependencies, which model the relationships and interactions among the components, hence the behavior, of the program.However, existing such approaches suffer from difficult cost-effectiveness balancing, especially when applied to analyze the impacts of code changes: Fine-grained dependence analysis offers detailed yet large and imprecise results at prohibitive costs, whereas lightweight high-level analysis achieves better performance yet gives coarse or incomplete results only. Particularly in the context of impact analysis, three major challenges are the large size and coarse granularity of resulting impact sets, and the excessive cost of using the analysis.This thesis proposes a sequence of advanced dependence-analysis techniques to address the above challenges for reliable software evolution. Followed by a systematic methodology for the accuracy study of dynamic impact prediction, and the first comprehensive such study using that methodology, a novel hybrid dependence analysis is proposed to improve the precision of method-level dynamic impact prediction without penalizing the recall. Next, to provide fine-grained impact prediction while overcoming the consequently aggravated large-size challenge, a new semantic-dependence quantification approach is presented, which prioritizes impacts to reduce potentially large impact-inspection costs.The proposal then sets three targets for the ongoing research. First, a unified dynamic impact analysis framework will be developed and, based on the framework, an in-depth study of the effects of various forms of dynamic program information on the cost-effectiveness of impact analysis will be conducted. Second, a method-level dependence abstraction is designed to empower efficient dependence analyses that will add to the performance of a variety of dependence-based software evolution tasks. Finally, the thesis explores the first code-based dynamic impact prediction method for distributed multiprocess systems.