kirancodes.me
To Proof Maintenance & Beyond!

DistIA: a cost-effective dynamic impact analysis for distributed programs

Haipeng Cai, Douglas Thain

Abstract

Dynamic impact analysis is a fundamental technique for understanding the impact of specific program entities, or changes to them, on the rest of the program for concrete executions. However, existing techniques are either inapplicable or of very limited utility for distributed programs running in multiple concurrent processes. This paper presents DistIA, a dynamic analysis of distributed systems that predicts impacts propagated both within and across process boundaries by partially ordering distributed method-execution events, inferring causality from the ordered events, and exploiting message-passing semantics. We applied DistIA to large distributed systems of various architectures and sizes, for which it on average finishes the entire analysis within one minute and safely reduces impact-set sizes by over 43% relative to existing options with runtime overhead less than 8%. Moreover, two case studies initially demonstrate the precision of DistIA and its utility in distributed system understanding. While conservative thus subject to false positives, DistIA balances precision and efficiency to offer cost-effective options for evolving distributed programs.

BibTeX
@inproceedings{Cai-Thain:ASE16,
  author    = {Haipeng Cai and
               Douglas Thain},
  title     = {{DistIA:} a cost-effective dynamic impact analysis for distributed programs},
  booktitle = {ASE},
  pages     = {344--355},
  publisher = {{ACM}},
  year      = {2016},
}

Related papers