- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Dara the explorer : coverage based exploration for...
Open Collections
UBC Theses and Dissertations
UBC Theses and Dissertations
Dara the explorer : coverage based exploration for model checking of distributed systems in Go Anand, Vaastav
Abstract
Distributed systems form the backbone of modern cloud systems. Failures in distributed systems can cause massive losses in the form of service outages and loss of revenue impacting real users of systems. Thus, it is imperative to find bugs in distributed systems before they are used in production systems. However, debugging distributed systems continues to elude us. Use of abstract modelling languages such as TLA+, PlusCal, Coq, and SPIN that check the correctness of models of distributed systems have become popular in recent years but they require a considerable amount of developer effort and do not necessarily find all the bugs in the implementation of the system. Model checkers that explore all possible executions of the implementation of a distributed system suffer from state space explosion, rendering them impractical as they are inefficiently scalable. To alleviate this, we propose Dara, a model checker designed for Go systems that uses a novel coverage-based strategy for ordering exploration of paths in the state space of the system according to the amount of code covered across nodes. Dara can find and reproduce concurrency bugs in go systems.
Item Metadata
Title |
Dara the explorer : coverage based exploration for model checking of distributed systems in Go
|
Creator | |
Publisher |
University of British Columbia
|
Date Issued |
2020
|
Description |
Distributed systems form the backbone of modern
cloud systems. Failures in distributed systems can cause massive losses
in the form of service outages and loss of revenue impacting real users of
systems. Thus, it is imperative to find bugs in distributed systems
before they are used in production systems.
However, debugging distributed systems continues to
elude us. Use of abstract modelling languages such as
TLA+, PlusCal, Coq, and SPIN that check the correctness of models of distributed
systems have become popular in recent years but
they require a considerable amount of developer effort and do not necessarily
find all the bugs in the implementation of the system.
Model checkers that explore all possible executions
of the implementation of a distributed system suffer from state space explosion,
rendering them impractical as they are inefficiently scalable.
To alleviate this, we propose Dara, a model checker designed
for Go systems that uses a novel coverage-based strategy for
ordering exploration of paths in the state space of the system
according to the amount of code covered
across nodes.
Dara can find and reproduce concurrency bugs in go systems.
|
Genre | |
Type | |
Language |
eng
|
Date Available |
2020-08-26
|
Provider |
Vancouver : University of British Columbia Library
|
Rights |
Attribution-NonCommercial-NoDerivatives 4.0 International
|
DOI |
10.14288/1.0392970
|
URI | |
Degree | |
Program | |
Affiliation | |
Degree Grantor |
University of British Columbia
|
Graduation Date |
2020-11
|
Campus | |
Scholarly Level |
Graduate
|
Rights URI | |
Aggregated Source Repository |
DSpace
|
Item Media
Item Citations and Data
Rights
Attribution-NonCommercial-NoDerivatives 4.0 International