Visualizing Distributed System Executions

Download: PDF, ShiViz, video demo of ShiViz, XVector.

“Visualizing Distributed System Executions” by Ivan Beschastnikh, Perry Liu, Albert Xing, Patty Wang, Yuriy Brun, and Michael D. Ernst. ACM Transactions on Software Engineering and Methodology, vol. 29, no. 2, Mar. 2020, pp. 9:1-9:38.
A previous version appeared as “Debugging distributed systems: Challenges and options for validation and debugging” by Ivan Beschastnikh, Patty Wang, Yuriy Brun, and Michael D. Ernst. Communications of the ACM, vol. 59, no. 8, Aug. 2016, pp. 32-37.
A previous version appeared as “Debugging distributed systems: Challenges and options for validation and debugging” by Ivan Beschastnikh, Patty Wang, Yuriy Brun, and Michael D. Ernst. ACM Queue, vol. 14, no. 2, March/April 2016, pp. 91-110.

Abstract

Distributed systems pose unique challenges for software developers. Understanding the system's communication topology and reasoning about concurrent activities of system hosts can be difficult. The standard approach, analyzing system logs, can be a tedious and complex process that involves reconstructing a system log from multiple hosts' logs, reconciling timestamps among hosts with non-synchronized clocks, and understanding what took place during the execution encoded by the log. This article presents a novel approach for tackling three tasks frequently performed during analysis of distributed system executions: (1) understanding the relative ordering of events, (2) searching for specific patterns of interaction between hosts, and (3) identifying structural similarities and differences between pairs of executions. Our approach consists of XVector, which instruments distributed systems to capture partial ordering information that encodes the happens-before relation between events, and ShiViz, which processes the resulting logs and presents distributed system executions as interactive time-space diagrams. Two user studies with a total of 109 students and a case study with 2 developers showed that our method was effective, helping participants answer statistically significantly more system-comprehension questions correctly, with a very large effect size.

Download: PDF, ShiViz, video demo of ShiViz, XVector.

BibTeX entry:

@article{BeschastnikhLXWBE2020,
   author = {Ivan Beschastnikh and Perry Liu and Albert Xing and Patty
	Wang and Yuriy Brun and Michael D. Ernst},
   title = {Visualizing Distributed System Executions},
   journal = {ACM Transactions on Software Engineering and Methodology},
   volume = {29},
   number = {2},
   pages = {9:1--9:38},
   month = mar,
   year = {2020}
}

(This webpage was created with bibtex2web.)

Back to Michael Ernst's publications.