WEKO3
アイテム
模範解答を用いた構造エラー箇所の指摘手法
https://ipsj.ixsq.nii.ac.jp/records/235045
https://ipsj.ixsq.nii.ac.jp/records/2350453bd04feb-b4c2-4e9c-a7f1-5a882b6ed0f6
| 名前 / ファイル | ライセンス | アクション |
|---|---|---|
|
2026年6月18日からダウンロード可能です。
|
Copyright (c) 2024 by the Information Processing Society of Japan
|
|
| 非会員:¥0, IPSJ:学会員:¥0, PRO:会員:¥0, DLIB:会員:¥0 | ||
| Item type | Trans(1) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 公開日 | 2024-06-18 | |||||||||
| タイトル | ||||||||||
| タイトル | 模範解答を用いた構造エラー箇所の指摘手法 | |||||||||
| タイトル | ||||||||||
| 言語 | en | |||||||||
| タイトル | A Method to Detect Structure Errors Using a Model Program | |||||||||
| 言語 | ||||||||||
| 言語 | jpn | |||||||||
| キーワード | ||||||||||
| 主題Scheme | Other | |||||||||
| 主題 | [発表概要, Unrefereed Presentatin Abstract] | |||||||||
| 資源タイプ | ||||||||||
| 資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||||
| 資源タイプ | journal article | |||||||||
| 著者所属 | ||||||||||
| 大分大学大学院工学研究科 | ||||||||||
| 著者所属 | ||||||||||
| 大分大学理工学部 | ||||||||||
| 著者所属(英) | ||||||||||
| en | ||||||||||
| Graduate School of Engineering, Oita University | ||||||||||
| 著者所属(英) | ||||||||||
| en | ||||||||||
| Faculty of Science and Technology, Oita University | ||||||||||
| 著者名 |
中井, 亮佑
× 中井, 亮佑
× 紙名, 哲夫
|
|||||||||
| 著者名(英) |
Ryosuke, Nakai
× Ryosuke, Nakai
× Tetsuo, Kamina
|
|||||||||
| 論文抄録 | ||||||||||
| 内容記述タイプ | Other | |||||||||
| 内容記述 | プログラミング初学者にとって,コンパイルエラーやデバッグを,コンパイラが出力するエラーメッセージや実行結果のみから解決することは難しく,エラーが解決できないと,学習者がプログラミングに対する興味を喪失する可能性がある.本発表では,C言語を対象に,演習形式の授業など,模範解答が準備されている場面を想定し,コンパイラが正しく指摘できないエラーを,模範解答と初学者のプログラムの差異から検出することで,初学者の学習をサポートする手法を提案する.提案手法では,構文解析器が処理するソースコード中の構文要素をXML形式で表現する.そしてそれを,別途用意する模範解答から生成されたDTDと比較することでエラー箇所を指摘する.具体的には,まず,初学者のプログラムから構文解析器が処理するソースコード中の構文要素をXML形式で表現する.次に,模範解答のプログラムからDTDを生成する.生成されたDTDは,模範解答のプログラムが満たすべき構造を定義している.これにより,初学者のプログラムが模範解答と異なる構造を持っている場合,DTDを用いた妥当性検証を行うことにより,それを差異として検出できる.これにより,初学者のプログラムが模範解答との整合性に欠ける部分が特定される.この不整合はエラーの原因である可能性が高く,それをフィードバックとして提供することにより,初学者のC言語学習の促進が期待される. | |||||||||
| 論文抄録(英) | ||||||||||
| 内容記述タイプ | Other | |||||||||
| 内容記述 | For novice programmers, it is difficult to solve compile errors and perform debugging only using the error messages output by the compiler and execution results. Unsolved errors may cause students to lose interest in programming. In this presentation, we propose a method to support the learning of C language by detecting errors that the compiler cannot correctly indicate. This detection is performed by comparing the differences between the model program and the novice one, assuming a situation where model programs are prepared in advance, e.g., an exercise-style class. In the proposed method, syntactic elements in the source code processed by the parser are expressed in the XML format. The proposed method compares this XML representation with the DTD generated from the model program, and indicates the cause of error. Specifically, first, the syntactic elements in the source code of the novice program are translated into the XML format. Next, a DTD is generated from the model program. This DTD defines the structure that the model program should satisfy. If the novice program has a different structure from the model, the validity check using the DTD can detect that. This difference identifies lines where the novice program is inconsistent with the model. This inconsistency is likely to be the cause of errors, and by providing it as feedback, it is expected to enhance the effectiveness of C language learning of novice programmers. | |||||||||
| 書誌レコードID | ||||||||||
| 収録物識別子タイプ | NCID | |||||||||
| 収録物識別子 | AA11464814 | |||||||||
| 書誌情報 |
情報処理学会論文誌プログラミング(PRO) 巻 17, 号 3, p. 5-5, 発行日 2024-06-18 |
|||||||||
| ISSN | ||||||||||
| 収録物識別子タイプ | ISSN | |||||||||
| 収録物識別子 | 1882-7802 | |||||||||
| 出版者 | ||||||||||
| 言語 | ja | |||||||||
| 出版者 | 情報処理学会 | |||||||||