並列デバッガにおける情報視覚化手法

Bibliographic Information

Other Title
  • Visualization Method for Parallel Debugger

Search this article

Abstract

近年,並列処理の利用が増加しつつある一方で,プログラム開発が困難であることが問題になっている.並列プログラミングでは,プロセス間の通信や処理の非決定性といった複雑な要因がコーディングやデバッグの負担を増大させる.このため,これらの負担を軽減する支援環境が必要である.gdb など従来のデバッガを用いる場合,実行を順に追いながらプログラムパスや変数の値を確認し,誤っている個所を絞り込む.しかし並列プログラムでは複数の制御の流れが非同期に進むため,これらすべてをユーザが追うことは非常に困難である.したがって,ユーザが確認すべき情報を絞り込む必要がある.そこで本研究では,注目している変数の値に影響するコードだけを抽出して提示するようなデバッグ支援手法を提案する.既存のデバッグ支援ツールでも静的解析で得たコード中の依存関係を提示するものがあるが,実行されていないパス上の依存も含むため冗長になってしまう.本手法では,静的解析で依存やプログラムパスの情報を取得し,実行時にデバッガが取得した情報により実行されたパスを決定することで,必要最小限のコードに絞り込むことができる.

In recent years, the demand for parallel processing is increasing. However, coding and debugging parallel programs are still large burden because of the inter-process communications and nondeterministic behaviors. Therefore, the parallel programming environment should support the user reducing such burden. Using traditional debuggers such as gdb, the user traces the execution confirming program path and variable values. However, tracing whole execution of a parallel program is very difficult because multiple control flows run asynchronously. Thus reducing the amount of data shown to the user is necessary. So we propose a new debugging scheme. In our scheme, only program lines which affect the variable values of user's interest are shown. Although some existing tools show dependencies in the program using static analysis, their result is still redundant because it may contain lines which were not executed. Our scheme can show minimum code lines using both static analysis and dynamic information.

Journal

Keywords

Details 詳細情報について

Report a problem

Back to top