| 講演抄録/キーワード |
| 講演名 |
2018-01-25 14:20
定理証明技術を用いたソースコードの補完手法の提案 ○小池遼平(早大)・小野康一(日本IBM)・深澤良彰(早大) KBSE2017-33 |
| 抄録 |
(和) |
ソフトウェア開発を効率的に行うための技術の1つにコード補完がある.コード補完とは記述中のソースコードの不足部分を自動的に補完する技術であり,ユーザは提示された補完候補のうちの1つを選択することで効率よくコーディングを行うことができる.しかし既存の手法では,正しくないコードの候補も含めて提示されるため,ユーザが誤ったコードを選択する可能性が発生する.この場合,ユーザはコード全体に修正を加えるか,補完された部分を再び候補の中から選択し直すという手間を強いられることになる.そこで本研究では定理証明技術を組み込んだコード補完手法を提案する.提案する手法では実装途中のソースコードに加え,実装途中のコードに与えられた事前条件/事後条件を考慮したコード検索を行い,定理証明を用いた検証により候補の絞り込みを行う.これにより,与えられた仕様を充足するコードに限定して推薦を行うことができるため,スムーズなコーディングを行えるとともに誤ったコードを選択するリスクを軽減することができる. |
| (英) |
Code completion is one of the techniques for making software development efficient. Code completion can complete the missing part of the source code automatically, so users can implement by selecting one of the recommended candidates. However, when users work on environment with existing code completion techniques, they might select incorrect candidates, since the recommendation would include incorrect codes. In this case, they have to modify the code or to select another one from the candidates. In this paper, we propose a new code completion method incorporating theorem proving technique. In this method, code search is performed in consideration of pre-condition / post-condition given as the specification of the code, and the theorem proving is used to narrow down the candidates by verifying the specification. By using this method, users can get the correct code that satisfies a given specification, so users can develop software smoothly and reduce the risk of selecting incorrect codes. |
| キーワード |
(和) |
コード補完 / コード断片 / JMLアノテーション / 定理証明 / / / / |
| (英) |
code completion / code snippet / JML annotation / automated theorem proving / / / / |
| 文献情報 |
信学技報, vol. 117, no. 414, KBSE2017-33, pp. 7-11, 2018年1月. |
| 資料番号 |
KBSE2017-33 |
| 発行日 |
2018-01-18 (KBSE) |
| ISSN |
Print edition: ISSN 0913-5685 Online edition: ISSN 2432-6380 |
著作権に ついて |
技術研究報告に掲載された論文の著作権は電子情報通信学会に帰属します.(許諾番号:10GA0019/12GB0052/13GB0056/17GB0034/18GB0034) |
| PDFダウンロード |
KBSE2017-33 |
| 研究会情報 |
| 研究会 |
KBSE |
| 開催期間 |
2018-01-25 - 2018-01-26 |
| 開催地(和) |
機械振興会館 |
| 開催地(英) |
Kikai-Shinko-Kaikan Bldg. |
| テーマ(和) |
一般 |
| テーマ(英) |
|
| 講演論文情報の詳細 |
| 申込み研究会 |
KBSE |
| 会議コード |
2018-01-KBSE |
| 本文の言語 |
日本語 |
| タイトル(和) |
定理証明技術を用いたソースコードの補完手法の提案 |
| サブタイトル(和) |
|
| タイトル(英) |
A Code Completion Method Using Automated Theorem Proving |
| サブタイトル(英) |
|
| キーワード(1)(和/英) |
コード補完 / code completion |
| キーワード(2)(和/英) |
コード断片 / code snippet |
| キーワード(3)(和/英) |
JMLアノテーション / JML annotation |
| キーワード(4)(和/英) |
定理証明 / automated theorem proving |
| キーワード(5)(和/英) |
/ |
| キーワード(6)(和/英) |
/ |
| キーワード(7)(和/英) |
/ |
| キーワード(8)(和/英) |
/ |
| 第1著者 氏名(和/英/ヨミ) |
小池 遼平 / Ryohei Koike / コイケ リョウヘイ |
| 第1著者 所属(和/英) |
早稲田大学 (略称: 早大)
Waseda University (略称: Waseda Univ.) |
| 第2著者 氏名(和/英/ヨミ) |
小野 康一 / Kouichi Ono / オノ コウイチ |
| 第2著者 所属(和/英) |
日本アイ・ビー・エム (略称: 日本IBM)
IBM Japan (略称: IBM Japan) |
| 第3著者 氏名(和/英/ヨミ) |
深澤 良彰 / Yoshiaki Fukazawa / フカザワ ヨシアキ |
| 第3著者 所属(和/英) |
早稲田大学 (略称: 早大)
Waseda University (略称: Waseda Univ.) |
| 第4著者 氏名(和/英/ヨミ) |
/ / |
| 第4著者 所属(和/英) |
(略称: )
(略称: ) |
| 第5著者 氏名(和/英/ヨミ) |
/ / |
| 第5著者 所属(和/英) |
(略称: )
(略称: ) |
| 第6著者 氏名(和/英/ヨミ) |
/ / |
| 第6著者 所属(和/英) |
(略称: )
(略称: ) |
| 第7著者 氏名(和/英/ヨミ) |
/ / |
| 第7著者 所属(和/英) |
(略称: )
(略称: ) |
| 第8著者 氏名(和/英/ヨミ) |
/ / |
| 第8著者 所属(和/英) |
(略称: )
(略称: ) |
| 第9著者 氏名(和/英/ヨミ) |
/ / |
| 第9著者 所属(和/英) |
(略称: )
(略称: ) |
| 第10著者 氏名(和/英/ヨミ) |
/ / |
| 第10著者 所属(和/英) |
(略称: )
(略称: ) |
| 第11著者 氏名(和/英/ヨミ) |
/ / |
| 第11著者 所属(和/英) |
(略称: )
(略称: ) |
| 第12著者 氏名(和/英/ヨミ) |
/ / |
| 第12著者 所属(和/英) |
(略称: )
(略称: ) |
| 第13著者 氏名(和/英/ヨミ) |
/ / |
| 第13著者 所属(和/英) |
(略称: )
(略称: ) |
| 第14著者 氏名(和/英/ヨミ) |
/ / |
| 第14著者 所属(和/英) |
(略称: )
(略称: ) |
| 第15著者 氏名(和/英/ヨミ) |
/ / |
| 第15著者 所属(和/英) |
(略称: )
(略称: ) |
| 第16著者 氏名(和/英/ヨミ) |
/ / |
| 第16著者 所属(和/英) |
(略称: )
(略称: ) |
| 第17著者 氏名(和/英/ヨミ) |
/ / |
| 第17著者 所属(和/英) |
(略称: )
(略称: ) |
| 第18著者 氏名(和/英/ヨミ) |
/ / |
| 第18著者 所属(和/英) |
(略称: )
(略称: ) |
| 第19著者 氏名(和/英/ヨミ) |
/ / |
| 第19著者 所属(和/英) |
(略称: )
(略称: ) |
| 第20著者 氏名(和/英/ヨミ) |
/ / |
| 第20著者 所属(和/英) |
(略称: )
(略称: ) |
| 第21著者 氏名(和/英/ヨミ) |
/ / |
| 第21著者 所属(和/英) |
(略称: )
(略称: ) |
| 第22著者 氏名(和/英/ヨミ) |
/ / |
| 第22著者 所属(和/英) |
(略称: )
(略称: ) |
| 第23著者 氏名(和/英/ヨミ) |
/ / |
| 第23著者 所属(和/英) |
(略称: )
(略称: ) |
| 第24著者 氏名(和/英/ヨミ) |
/ / |
| 第24著者 所属(和/英) |
(略称: )
(略称: ) |
| 第25著者 氏名(和/英/ヨミ) |
/ / |
| 第25著者 所属(和/英) |
(略称: )
(略称: ) |
| 第26著者 氏名(和/英/ヨミ) |
/ / |
| 第26著者 所属(和/英) |
(略称: )
(略称: ) |
| 第27著者 氏名(和/英/ヨミ) |
/ / |
| 第27著者 所属(和/英) |
(略称: )
(略称: ) |
| 第28著者 氏名(和/英/ヨミ) |
/ / |
| 第28著者 所属(和/英) |
(略称: )
(略称: ) |
| 第29著者 氏名(和/英/ヨミ) |
/ / |
| 第29著者 所属(和/英) |
(略称: )
(略称: ) |
| 第30著者 氏名(和/英/ヨミ) |
/ / |
| 第30著者 所属(和/英) |
(略称: )
(略称: ) |
| 第31著者 氏名(和/英/ヨミ) |
/ / |
| 第31著者 所属(和/英) |
(略称: )
(略称: ) |
| 第32著者 氏名(和/英/ヨミ) |
/ / |
| 第32著者 所属(和/英) |
(略称: )
(略称: ) |
| 第33著者 氏名(和/英/ヨミ) |
/ / |
| 第33著者 所属(和/英) |
(略称: )
(略称: ) |
| 第34著者 氏名(和/英/ヨミ) |
/ / |
| 第34著者 所属(和/英) |
(略称: )
(略称: ) |
| 第35著者 氏名(和/英/ヨミ) |
/ / |
| 第35著者 所属(和/英) |
(略称: )
(略称: ) |
| 第36著者 氏名(和/英/ヨミ) |
/ / |
| 第36著者 所属(和/英) |
(略称: )
(略称: ) |
| 講演者 |
第1著者 |
| 発表日時 |
2018-01-25 14:20:00 |
| 発表時間 |
45分 |
| 申込先研究会 |
KBSE |
| 資料番号 |
KBSE2017-33 |
| 巻番号(vol) |
vol.117 |
| 号番号(no) |
no.414 |
| ページ範囲 |
pp.7-11 |
| ページ数 |
5 |
| 発行日 |
2018-01-18 (KBSE) |