講演抄録/キーワード |
講演名 |
2019-03-05 15:25
関数型プログラムの条件式のための反例を用いた自動修正 ○松井 健・佐藤亮介・鵜林尚靖・亀井靖高(九大) SS2018-80 |
抄録 |
(和) |
ソフトウェア開発において,手動によるバグ修正には多くの手間と時間がかかる.開発者の負担を減らすため自動バグ修正の研究が行われているが,関数型プログラムを対象としたものは存在しない.本研究では,関数型プログラムを対象とした自動バグ修正手法を提案する.対象言語は単純型付きラムダ計算に整数,ブール値,及び再帰を含んだもので,対象のバグは条件分岐の条件式における誤りである.まず,ソフトウェアモデル検査器によりプログラムを検査し,反例を利用して修正すべき箇所を特定する.次に,修正のための制約及びパッチを生成する.修正後,プログラムを再検査し,反例が存在しなくなるまで修正操作を繰り返す.自ら作成したにバグに本手法を手動で適用したところ,バグ修正可能であることが確認できた. |
(英) |
In software development, manual bug fixing consumes much time and effort. Therefore, automated program repair methods have been studied, but there is no one for functional programs.
In this paper, we propose an automated bug fixing method for functional programs. The target language is simple typed lambda calculus with integer, boolean, and recursion, and the target defect is an error in a conditional expression of a conditional branch. First, we find an expression to be fixed using a counterexample by a software model checker for the functional programs. Second, we generate a constraint and a patch for repair. Finally, if the fixed program is judged as safe by the model checker, bug fixing is completed, and if unsafe, the repair operation is repeated for another counterexample.
We show the capabilities of the approach using case studies of bug examples. |
キーワード |
(和) |
関数型プログラム / 自動バグ修正 / ソフトウェアモデル検査 / 条件式 / 反例 / / / |
(英) |
functional programs / automatic repair / software model checking / conditional expressions / counterexamples / / / |
文献情報 |
信学技報, vol. 118, no. 471, SS2018-80, pp. 169-174, 2019年3月. |
資料番号 |
SS2018-80 |
発行日 |
2019-02-25 (SS) |
ISSN |
Online edition: ISSN 2432-6380 |
著作権に ついて |
技術研究報告に掲載された論文の著作権は電子情報通信学会に帰属します.(許諾番号:10GA0019/12GB0052/13GB0056/17GB0034/18GB0034) |
PDFダウンロード |
SS2018-80 |
研究会情報 |
研究会 |
SS |
開催期間 |
2019-03-04 - 2019-03-05 |
開催地(和) |
沖縄産業支援センター |
開催地(英) |
|
テーマ(和) |
一般 |
テーマ(英) |
|
講演論文情報の詳細 |
申込み研究会 |
SS |
会議コード |
2019-03-SS |
本文の言語 |
日本語 |
タイトル(和) |
関数型プログラムの条件式のための反例を用いた自動修正 |
サブタイトル(和) |
|
タイトル(英) |
Automatic Repair of Conditional Expressions for Functional Programs by Using Counterexamples |
サブタイトル(英) |
|
キーワード(1)(和/英) |
関数型プログラム / functional programs |
キーワード(2)(和/英) |
自動バグ修正 / automatic repair |
キーワード(3)(和/英) |
ソフトウェアモデル検査 / software model checking |
キーワード(4)(和/英) |
条件式 / conditional expressions |
キーワード(5)(和/英) |
反例 / counterexamples |
キーワード(6)(和/英) |
/ |
キーワード(7)(和/英) |
/ |
キーワード(8)(和/英) |
/ |
第1著者 氏名(和/英/ヨミ) |
松井 健 / Ken Matsui / マツイ ケン |
第1著者 所属(和/英) |
九州大学 (略称: 九大)
Kyushu University (略称: Kyushu Univ.) |
第2著者 氏名(和/英/ヨミ) |
佐藤 亮介 / Ryosuke Sato / サトウ リョウスケ |
第2著者 所属(和/英) |
九州大学 (略称: 九大)
Kyushu University (略称: Kyushu Univ.) |
第3著者 氏名(和/英/ヨミ) |
鵜林 尚靖 / Naoyasu Ubayashi / ウバヤシ ナオヤス |
第3著者 所属(和/英) |
九州大学 (略称: 九大)
Kyushu University (略称: Kyushu Univ.) |
第4著者 氏名(和/英/ヨミ) |
亀井 靖高 / Yasutaka Kamei / カメイ ヤスタカ |
第4著者 所属(和/英) |
九州大学 (略称: 九大)
Kyushu University (略称: Kyushu Univ.) |
第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著者 |
発表日時 |
2019-03-05 15:25:00 |
発表時間 |
25分 |
申込先研究会 |
SS |
資料番号 |
SS2018-80 |
巻番号(vol) |
vol.118 |
号番号(no) |
no.471 |
ページ範囲 |
pp.169-174 |
ページ数 |
6 |
発行日 |
2019-02-25 (SS) |