|
早稲田大学
鷲崎 弘宜
教授
機関別共同研究
Discovery Saga
論文分野別Discovery Saga
研究テーマDiscovery Saga
協賛企業
共同研究先:WillBooster Inc.
Corporate
共同研究数 1
Article
2020 4
Elsevier
PVC.js: visualizing C programs on web browsers for novices
PVC.js:Webブラウザ上でCプログラムを可視化する初心者向けサービス
Ryosuke Ishizue, Kazunori Sakamoto, Hironori Washizaki, Yoshiaki Fukazawa
Heliyon
【抄録】
Many researchers have proposed program visualization tools for memory management. Examples include state-of-the-art tools for C languages such as SeeC and Python Tutor (PT). However, three problems hinder the use of these and other tools: capability (P1), installability (P2), and usability (P3). (P1) Tools do not fully support dynamic memory allocation or File Input / Output (I/O) and Standard Input. (P2) Novice programmers often have difficulty installing SeeC due to its dependence on Clang and setting up an offline environment that uses PT. (P3) Revisualization of the modified source code in SeeC requires several steps. To alleviate these issues, we propose a new visualization tool called PlayVisualizerC.js (PVC.js). PVC.js, which is designed for novice C language programmers to provide solutions (S1–3) for P1–3. S1 offers complete support for dynamic memory allocation, standard I/O, and file I/O. S2 involves installation in a user web browser. This system is composed of JavaScript programs, including C language execution functions. S3 reduces the steps required for revisualization. To evaluate PVC.js, we conducted two experiments. The first experiment found that students using PVC solved a set of four programming tasks on average 1.7—times faster and with 19% more correct answers than those using SeeC. The second experiment found that PVC.js has a visualization performance equivalent to PT, and that PVC.js is more effective than existing general debugging tools for novices to understand programs in cases where the values of important variables change and the control flow is complicated. Science; C language; Browser application; Visualization © 2020 The Authors
【抄録日本語訳】
メモリ管理に関するプログラムの可視化ツールは、多くの研究者によって提案されている。例えば,C言語用のSeeCやPython Tutor (PT)などの最新鋭のツールが挙げられる.しかし,これらのツールやその他のツールの利用には,ケイパビリティ(P1),インストール性(P2),ユーザビリティ(P3)という3つの問題がある.(P1) 動的メモリ割り当てやファイル入力/出力(I/O),標準入力を十分にサポートしていない.(P2) Clangに依存するためSeeCのインストールに苦労することが多く、PTを利用したオフライン環境も構築できない。(P3) 修正したソースコードをSeeCで再可視化する際に、いくつかの手順を必要とする。これらの問題を軽減するために、PlayVisualizerC.js (PVC.js) という新しい可視化ツールを提案します。PVC.jsは、C言語プログラマの初心者を対象に、P1〜3の解決策(S1〜3)を提供するものである。S1では、動的メモリ割り当て、標準I/O、ファイルI/Oを完全にサポートしています。S2は、ユーザーのWebブラウザにインストールするものです。C言語の実行機能を含むJavaScriptのプログラムで構成されています。S3は,再利用に必要なステップを減らすことができる.PVC.jsの評価として、2つの実験を行った。最初の実験では,PVCを利用した学生は,SeeCを利用した学生に比べて,4つのプログラミング課題セットを平均1.7倍速く,19%多く正答することが分かった.2つ目の実験では、PVC.jsはPTと同等の可視化性能を持ち、重要な変数の値が変化したり制御の流れが複雑な場合のプログラムの理解には、既存の一般的なデバッグツールよりも有効であることを明らかにした。科学;C言語;ブラウザアプリケーション;可視化 © 2020 The Authors