DCBENCH: DISTRIBUTED CONCURRENCY BUGS BENCHMARK AND IMPLEMENTATION OF INTEGRATED DMCK

With the ever-increasing usage of distributed systems, occurrences of distributed concurrency bugs, or DCbugs, will continue to rise, which makes DCbugs detection, research and prevention more crucial. Distributed Systems Model Checker, or DMCK, is one of the tools available in detecting and repr...

Full description

Saved in:
Bibliographic Details
Main Author: Rahmat Pratama, Yusuf
Format: Final Project
Language:Indonesia
Online Access:https://digilib.itb.ac.id/gdl/view/50861
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Institut Teknologi Bandung
Language: Indonesia
Description
Summary:With the ever-increasing usage of distributed systems, occurrences of distributed concurrency bugs, or DCbugs, will continue to rise, which makes DCbugs detection, research and prevention more crucial. Distributed Systems Model Checker, or DMCK, is one of the tools available in detecting and reproducing DCbugs deterministically, making it significant in the process of detecting and researching the DCbugs, including further research on reduction techniques used to decrease the time and space required for the DMCK to catch the DCbugs by reducing the state space permutation required. However every research aspect, which consists of research on the DMCK, research on the DCbugs, and research on the reduction techniques, is fully dependent on the other research aspects; a DCbugs researcher needs to implement the DMCK and the reduction techniques to complement the research, while research in reduction techniques needs to implement the DMCK and integrates it with some DCbugs for evaluation. Consequently, a benchmark of DCbugs integrated with an implementation of DMCK and some reduction techniques is required to solve the problem. We call it the DCBench system. To implement the DMCK integration with the DCbugs’ target systems, we use application-level approach to intercept and identify events executed by the target system from the target system’s implementation, requiring modifications on the implementation of the target system, while enabling integration with target systems on different platforms and on unique types of events. Based on selections and analysis, we choose 9 DCbugs as the DCbugs benchmark, all integrated to the DMCK. Evaluations on the benchmark and the DMCK result in a 92,6% success rate in the benchmark DCbugs reproduction on the DMCK, and 75% success rate in the benchmark DCbugs exploration. Based on further analysis, the failures arise because of the inability of the DCBench system and the target systems to run on fully-loaded RAM because of out of memory. Furthermore, explorations’ failures are related to some reduction techniques not being able to find the DCbugs after iterating 10.000 paths, which is used in the evaluation process as a maximum iteration to limit the scope of testing.