Vis enkel innførsel

dc.contributor.advisorSaadallah, Nejm
dc.contributor.authorGundersen, Daniel
dc.date.accessioned2023-08-19T15:51:11Z
dc.date.available2023-08-19T15:51:11Z
dc.date.issued2023
dc.identifierno.uis:inspera:129718883:36675528
dc.identifier.urihttps://hdl.handle.net/11250/3084901
dc.description.abstractImplementation level model checkers haven proven a good tool for identifying bugs in implementations of distributed algorithms. In recent years many new model checkers have been developed. These often include new state space reduction techniques which increase their effectiveness, but they are often locked to use a specific state space reduction technique and to support specific abstractions. This makes it hard to compare different state space reduction techniques and to change between different abstractions. We propose Go-MC, a modular implementation level model checker for the Go programming language. Go-MC consists of four modules: the Scheduler, the State Manager, the Checker and the Failure Manager. Each module can easily be swapped for different implementations, which makes it easy to change between different abstractions and scheduling techniques. Go-MC also uses Event Managers to control the execution of the algorithm. Event Managers are flexible and custom implementations can be made to utilize specific frameworks or to mock components of distributed systems. This allows us to take a modular approach when simulating distributed systems, which will reduce the number of events in a simulation and thus reduce the size of the state space. It also makes it possible to efficiently capture events and support different frameworks.
dc.description.abstract
dc.languageeng
dc.publisheruis
dc.titleGo-MC - An implementation level model checker for Go
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel