楠本研究室

業績一覧

ホーム業績一覧

分散処理を用いた自動プログラム修正の高速化

分散処理を用いた自動プログラム修正の高速化
電子情報通信学会技術報告, vol.119, no.112, pp.141-146 (2019)
概要: GenProg は遺伝的アルゴリズムを利用した自動プログラム修正ツールである. GenProg はソースコードを 個体とみなし,各個体に対してプログラム文の挿入・削除・置換といった加工を行う. GenProg は加工した個体を多数 生成し,その全てをビルドし,テストする. 全てのテストを通過する個体がない場合,生成した個体から優秀な個体を選択し,選択した個体を加工し,ビルドし,テストする.全てのテストを通過する個体が生成されるまでこのループを 繰り返す. そこで問題となるのがパフォーマンスである. GenProg は生成した全ての個体に対してビルドとテストを行う. ビルドやテストは大きな計算コストを必要とする処理であるため,全てのテストを通過するプログラムを生成するまでのループの回数が多い場合に GenProg の実行時間は非常に長くなってしまう. このことにより,GenProg の改良を目指している研究者が思いついたアイデアを試す際に長い時間が必要になる等の問題が生じる. 本論文では GenProg の パフォーマンスを上げる方法として,各世代において生成された個体のビルドとテストを並列化するツールを提案する. GenProg のビルドとテストを行うクラスタを構築し,それらの処理を分散させることでパフォーマンスを向上させる. 提案ツールのパフォーマンスを評価するために,クラスタを構成するマシンの台数を変えて実験を行い,台数に応じて パフォーマンスが向上したことを確認した.
@inproceedings{松本淳之介2019a,
  author = {松本 淳之介 and 肥後 芳樹 and 松尾 裕幸 and 有馬 諒 and 柗本 真佑 and 楠本 真二},
  title = {分散処理を用いた自動プログラム修正の高速化},
  booktitle = {電子情報通信学会技術報告},
  volume = {119},
  number = {112},
  pages = {141--146},
  year = {2019},
  month = {jul}
}