講演抄録/キーワード |
講演名 |
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 |