講演名 2017-10-19
Javaプログラミング学習支援システムのコードクローン除去問題におけるメソッド生成課題の改善
石原 信也(岡山大), 舩曵 信生(岡山大), 栗林 稔(岡山大),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 本グループでは,冗長性のないコードの作成に加え,オブジェクト指向言語プログラミングの学習を目的 として, Javaプログラミング学習支援システムJPLAS(Java Programming Learning Assistant System)における, コードクローン除去問題の提案・実装を進めている.本問題では,コードクローンを含む問題コードを提示し,学生 はコードクローンを含まないコードに修正して解答する.この解答コードは,テストコードを用いた単体テスト(機 能判定)とコードクローン検出判定により採点される.本問題では,コードクローン除去方法を,(1)使用文法適正 化,(2)メソッド生成,(3)クラス生成,(4)テンプレートメソッド使用,の4種類とし,それぞれに対応した課 題を準備することとしている.本問題の試行として,研究室学生に,以上の4種類の課題を解答させた所,(2)以降 では,解答できない学生が飛躍的に増加することが明らかとなった.そこで本研究では,(2)を対象として,(1) 解法の理解,(2)問題コード中のコードクローンの指摘,(3)解答コードの作成,の3段階学習法を提案する.評 価として,研究室の学生に提案法を適用し,その有効性を確認した.
抄録(英) To let students study the object-oriented programming of writing program codes without redundancy, we have proposed the code clone elimination problem in Java programming learning assistant system (JPLAS). In this problem, a student is asked to modify the given problem code with code clones into the answer code without them, where the answer code is verified by the unit test on JUnit and the code clone detection test. For this problem, we categorize the four code clone elimination methods: (1) using correct grammar, (2) generating a proper method, (3) generating a proper class, and (4) applying the template method, and prepare the corresponding assignments. The trial application of the simple assignments clarified that the number of solving students rapidly decreased in (2)-(4). In this paper, we propose a three-step learning method for the code clone elimination problem targeting (2), which consists of (1) understanding how to solve the problem, (2) pointing out the code clones in the problem code, and (3) writing the answer code. Through applications of the proposal to students in our group, the effectiveness is confirmed.
キーワード(和) Java / プログラミング教育 / JPLAS / コードクローン / 除去 / 3段階学習
キーワード(英) Java / programming education / JPLAS / code clone / deletion / three-step learning
資料番号 SS2017-25,DC2017-24
発行日 2017-10-12 (SS, DC)

研究会情報
研究会 SS / DC
開催期間 2017/10/19(から2日開催)
開催地(和) 高知市文化プラザかるぽーと
開催地(英) Kochi City Culture-plaza CUL-PORT
テーマ(和) ソフトウェアシステム, ネットワーク環境でのディペンダビリティ
テーマ(英) Software System and Dependability on Network, etc
委員長氏名(和) 緒方 和博(北陸先端大) / 井上 美智子(奈良先端大)
委員長氏名(英) Kazuhiro Ogata(JAIST) / Michiko Inoue(NAIST)
副委員長氏名(和) 中田 明夫(広島市大) / 福本 聡(首都大東京)
副委員長氏名(英) Akio Nakata(Hiroshima City Univ.) / Satoshi Fukumoto(Tokyo Metropolitan Univ.)
幹事氏名(和) 小林 隆志(東工大) / 肥後 芳樹(阪大) / 吉村 正義(京都産大) / 金子 晴彦(東工大)
幹事氏名(英) Takashi Kobayashi(Tokyo Inst. of Tech.) / Yoshiki Higo(Osaka Univ.) / Masayoshi Yoshimura(Kyoto Sangyo Univ.) / Haruhiko Kaneko(Tokyo Inst. of Tech.)
幹事補佐氏名(和) 島 和之(広島市大) / 新井 雅之(日大)
幹事補佐氏名(英) Kazuyuki Shima(Hiroshima City Univ.) / Masayuki Arai(Nihon Univ.)

講演論文情報詳細
申込み研究会 Technical Committee on Software Science / Technical Committee on Dependable Computing
本文の言語 JPN
タイトル(和) Javaプログラミング学習支援システムのコードクローン除去問題におけるメソッド生成課題の改善
サブタイトル(和)
タイトル(英) Making of Code Clone Elimination Problem Function for Java Programming Learning Assistant System
サブタイトル(和)
キーワード(1)(和/英) Java / Java
キーワード(2)(和/英) プログラミング教育 / programming education
キーワード(3)(和/英) JPLAS / JPLAS
キーワード(4)(和/英) コードクローン / code clone
キーワード(5)(和/英) 除去 / deletion
キーワード(6)(和/英) 3段階学習 / three-step learning
第 1 著者 氏名(和/英) 石原 信也 / Nobuya Ishihara
第 1 著者 所属(和/英) 岡山大学(略称:岡山大)
Okayama University(略称:Okayama Univ.)
第 2 著者 氏名(和/英) 舩曵 信生 / Nobuo Funabiki
第 2 著者 所属(和/英) 岡山大学(略称:岡山大)
Okayama University(略称:Okayama Univ.)
第 3 著者 氏名(和/英) 栗林 稔 / Minoru Kuribayashi
第 3 著者 所属(和/英) 岡山大学(略称:岡山大)
Okayama University(略称:Okayama Univ.)
発表年月日 2017-10-19
資料番号 SS2017-25,DC2017-24
巻番号(vol) vol.117
号番号(no) SS-248,DC-249
ページ範囲 pp.25-30(SS), pp.25-30(DC),
ページ数 6
発行日 2017-10-12 (SS, DC)