| Item type |
Trans(1) |
| 公開日 |
2021-06-15 |
| タイトル |
|
|
タイトル |
マルチスレッドを学習するためのメモリアクセス可視化ツールの提案および実装 |
| タイトル |
|
|
言語 |
en |
|
タイトル |
A Tool for Learning Multithread Programming by Memory Access Visualization |
| 言語 |
|
|
言語 |
jpn |
| キーワード |
|
|
主題Scheme |
Other |
|
主題 |
[発表概要, Unrefereed Presentatin Abstract] |
| 資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_6501 |
|
資源タイプ |
journal article |
| 著者所属 |
|
|
|
芝浦工業大学 |
| 著者所属 |
|
|
|
芝浦工業大学 |
| 著者所属(英) |
|
|
|
en |
|
|
Shibaura Institute of Technology |
| 著者所属(英) |
|
|
|
en |
|
|
Shibaura Institute of Technology |
| 著者名 |
吉塚, 大浩
篠埜, 功
|
| 著者名(英) |
Takahiro, Yoshizuka
Isao, Sasano
|
| 論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
マルチスレッドプログラムでは,スレッド間で共有しているデータにアクセスする際,他スレッドの処理待ちや排他制御を行うことで,データにアクセスする順番を制御している.そのため,スレッドの実行順序の制御を把握することは,マルチスレッドプログラムを学習するうえで必要不可欠である.これをマルチスレッドの初学者が自習する場合,教科書などに載っているサンプルコードを見ながら自身でプログラムを書くことがある.しかし,サンプルプログラムを打ち込んで実行するだけでは,実行順序の制御を把握するのは難しい.この点は,様々なマルチスレッドプログラムにおいて,実行中のソースコードの場所とともに変数情報などを視覚化することで補うことができると考えた.この考えに基づき,本発表では,マルチスレッドの学習を支援することを目的としたメモリアクセス可視化ツールを提案する.このツールは,ステップ実行を行いながら,スレッドごとに実行中のソースコードの場所に色をつける.また変数情報を表示する機能があり,どのスレッドが各変数を更新したかを色で表す.このツールは,C言語を対象にLLDBのAPIを使って実装した.また,学習者が教科書とサンプルコードを用いて自習した場合と本ツールを用いて自習した場合の2つに分け,テストとアンケートを用いて,スレッドの実行順序の制御について理解が深まったかどうか評価を行う. |
| 論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
In multithreaded programs, when accessing data shared among threads, the order in which the data is accessed is controlled by waiting for other threads having finished or by mutual exclusion. Therefore, understanding the control of the order of thread execution is essential for learning multithreaded programs. When beginners of multithreaded programming study by themselves, they may write programs while looking at some sample code in textbooks and other sources. However, it is difficult to grasp the control of the execution order just by typing and executing the sample code. We consider that this point can be overcome by visualizing variable information as well as the executing part in the source code while executing various multithreaded programs. Based on this idea, in this presentation, we propose a memory access visualization tool that aims to support beginners to learn multithreaded programming. The tool has a functionality for step execution with the executing part in the source code being colored for each thread. Also, the tool has a functionality for showing variable information with a color indicating which thread updated which variable. The tool was implemented for C using LLDB API. To evaluate the tool, we asked some beginners of multithreaded programming to use the tool. We divide them into two groups, one with the textbook and sample code and the other with the tool. After learning, we do tests and questionnaires in both groups to evaluate to what extent the beginners have understood the control of the order of thread execution. |
| 書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AA11464814 |
| 書誌情報 |
情報処理学会論文誌プログラミング(PRO)
巻 14,
号 3,
p. 7-7,
発行日 2021-06-15
|
| ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
1882-7802 |
| 出版者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |