Back to results

University of Illinois at Urbana-Champaign

Use of deterministic execution in testing and debugging of distributed software

Abstract

dc:description

Large-scale networks are among the most complex software infrastructures in existence. Unfortunately, the increasing complexity of its software requirements leads to a rich variety of nondeterministic failure modes and anomalies. Research on testing and debugging modern distributed software has focused on designing comprehensive record and replay systems, but the large volumes of recordings often hinder the efficiency and scalability of these designs. Here, we argue for a different approach. Namely, we take the position that deterministic network execution would vastly simplify the distributed software testing and debugging process. This thesis presents the design and implementation of a network architecture for interactive testing and debugging that provides deterministic network execution of distributed software in highly distributed and dynamic environments. We design efficient and scalable algorithms for both control and data traffics in modern wide-area networks. In addition, we further describe several interactive primitives to reduce the time and effort on testing and debugging of large-scale distributed software. We demonstrate our system's advantages by analyzing nondeterministic ordering and timing bugs in popular real-world distributed software, XORP, Quagga, and lighttpd. Using Rocketfuel topologies and traffic data from a Tier-1 backbone, we show that our design is practical and scalable for interactive fault diagnosis in large networks.

Degree

thesis:*
Name thesis:degree_name
Ph.D.
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Computer Science
Grantor
University of Illinois at Urbana-Champaign
Year dc:date
2014

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Lin, Chia-Chi
Contributors dc:contributor
  • Caesar, Matthew C.
  • Torrellas, Josep
  • Hu, Yih-Chun
  • Ceze, Luis

Subjects

dc:subject × 8

Rights

dc:rights
Statement dc:rights
  • Copyright 2013 Chia-Chi Lin
Language dc:language
en

Identifiers

dc:identifier.*
Handle dc:identifier
http://hdl.handle.net/2142/46762
OAI identifier oai:identifier
oai:www.ideals.illinois.edu:2142/46762

Chain of custody

source
Harvested from
University of Illinois - Urbana-Champaign
Base URL
www.ideals.illinois.edu/oai-pmh
Last updated
2026-07-22
Source record
OAI-PMH GetRecord
citation

Lin, Chia-Chi. Use of deterministic execution in testing and debugging of distributed software. Dissertation thesis, University of Illinois at Urbana-Champaign, 2014. http://hdl.handle.net/2142/46762