会議発表論文 アクターシステムを対象としたリバースデバッギングのためのフレームワーク

柴内, 一宏  ,  Shibanai, Kazuhiro  ,  渡部, 卓雄  ,  Watanabe, Takuo

2017-09
内容記述
アクターモデルは並行計算モデルの一つであり,アクターと呼ばれる計算主体間の非同期メッセージ通信により計算が行われる.アクターモデルでは原則として状態を共有しないため,データ競合やデッドロックといった単純な並行バグは回避できる.しかしながら,メッセージ到着順序の非決定性に起因するバグは依然として発生しうる.我々はこのようなバグの発見を容易にすることを目的として,アクターモデルにもとづく各種言語および実行系を対象としたデバッギングフレームワークActoverseを設計・実装した.Actoverseはリバースデバッギングおよびメッセージ到着順の制御機構を備えており,メッセージ到着順序の非決定性に伴うバグの発見を支援する.本稿ではActoverseの概要について述べ,Akkaによる例題を通してその有効性について議論する.
The Actor model is a concurrent computation model based on asynchronous communication among computational entities called actors. The inherent shared-nothing principle and the absence of locks guarantee that actor-based programs can avoid simple concurrency bugs such as data races and deadlocks. However, they are not completely free from application level concurrency flaws that occur, for example, due to the indeterminate arrival order of messages. To assist discovering such bugs in actor-based systems, we designed and implemented Actoverse, a debugger that adopts reverse debugging and provides an interactive aid for controlling the arrival order of messages upon re-execution. In this paper, we overview its architecture and discuss its effectiveness by debugging Akka-based example applications.

このアイテムのアクセス数:  回

その他の情報