2013 Fiscal Year Research-status Report
情報端末に依存しない低水準入出力の実行可能なプログラミング学習環境の開発
Project/Area Number |
24501069
|
Research Institution | Sugiyama Jogakuen University |
Principal Investigator |
鳥居 隆司 椙山女学園大学, 文化情報学部, 教授 (90207663)
|
Co-Investigator(Kenkyū-buntansha) |
中野 健秀 愛知学院大学, 商学部, 准教授 (20441115)
杵淵 信 北海道教育大学, 教育学部, 教授 (30261366)
田村 謙次 中央学院大学, 商学部, 准教授 (30367635)
川崎 直哉 上越教育大学, 学校教育研究科(研究院), 教授 (40145107)
安藤 明伸 宮城教育大学, 教育学部, 准教授 (60344743)
大岩 幸太郎 大分大学, 教育福祉科学部, 教授 (90223726)
|
Keywords | C言語 / 学習環境 / ポインタ / クラウド / Webブラウザ |
Research Abstract |
昨年度に引き続き、PCやスマートフォンなどの携帯情報端末のWebブラウザから活用が可能なコンパイラ型のプログラミング言語の学習環境の構築を行った。C言語のソースプログラムをコンパイルし、実行までをすべてWebブラウザ上で行うことができる学習環境では、不特定多数のユーザが様々に誤ったソースプログラムを記述する可能性や故意にシステムの破壊を行う可能性にも対応する必要がある。C言語のプログラミングでは、コンピュータにおける低水準レベルの記述が可能であり、ポインタによるメモリの参照や書き換えが非常に容易に行える。今年度は、ユーザが、誤ったソースプログラムを入力した場合や故意にメモリ破壊を行ったなどに対応できる学習環境を中心に検討を行った。C言語は、低水準な記述が容易にできる高級言語とされているが、JISの記述によれば、「・・・正しくない値がポインタに代入されている場合、単項*演算子の動作は、未定義・・・」や「・・・演算によって、オーバフローを生じさせてはならない。それ以外の場合、動作は未定義・・・」と記述されており、必要なライブラリの書き換えにより実装を試みた。ユーザのプログラムを実行する場合におけるバッファオーバラン等に対して、短時間で安全に動作が行われるように対策した。その結果、クラウドサービスのマイクロインスタンス(一概に性能の比較は難しいが、最大2ECUであるものの通常の低バックグラウンドレベル、短期バーストレベルでの使用、メモリ数百MB程度)程度のスペックであっても、十数人が同時に演習を行う設定では問題なく利用できることが確認できた。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
昨年までの成果として、ユーザのプログラムを実行する場合におけるバッファオーバランやシステムを破壊し得るライブラリの処理について対策を行うサーバのプロトタイプを比較的性能の低いクラウドサービス上に構築し、複数ユーザでの同時使用を行った結果、通常のプログラミング入門演習程度の利用状況で問題となる事例は検出できなかった。
|
Strategy for Future Research Activity |
平成24、25年度に構築されたシステムに関して、PCや様々な携帯情報端末での活用を行い、システムの安定性について検証を行うとともに、同条件を満たしつつ、学習コンテンツの開発や学習に関する工夫として、たとえば、容易に描画できるグラフィック機能なども付加することも検討する。
|
Expenditure Plans for the Next FY Research Funding |
予定していた学びとコンピュータやネットワークの利用に関する研究会等の出張を年度内に行う結果にならなかったため。 次年度に本研究課題に関する研究会等に参加し、関連する知見を得ることを計画している。
|
Research Products
(4 results)