Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

第1回AI4SEセミナー

1,487 views

Published on

Generate-and-Validate Program Repair - 学術から産業へ持ち出してみて

Published in: Technology
  • Be the first to comment

第1回AI4SEセミナー

  1. 1. Generate-and-Validate Program Repair 学術から産業へ持ち出してみて 株式会社Udzuki 代表取締役 前澤悠太 https://udzuki.jp 14th December 2018 1 第1回AI4SEセミナー
  2. 2. Udzuki – 社名の由来 14th December 2018 2 Udzuki?
  3. 3. Udzuki – 社名の由来 14th December 2018 3 自動プログラム修正
  4. 4. Udzuki – 社名の由来 14th December 2018 4 Automated Program Repair
  5. 5. Udzuki – 社名の由来 14th December 2018 5 APR
  6. 6. Udzuki – 社名の由来 14th December 2018 6 April
  7. 7. Udzuki – 社名の由来 14th December 2018 7 4月
  8. 8. Udzuki – 社名の由来 14th December 2018 8 卯月
  9. 9. Udzuki – 社名の由来 14th December 2018 9 Udzuki
  10. 10. Udzuki – 社名の由来 14th December 2018 10 Udzuki
  11. 11. Udzuki – 社名の由来 14th December 2018 11 Udzuki テスト自動化・自動プログラム修正を軸にした会社
  12. 12. Udzuki – 社名の由来 14th December 2018 12 なぜ自動プログラム修正?
  13. 13. About Me ~’14 • Webアプリの解析・モデル検査・テスト 14th December 2018 13 実装 デバッ グ … … … … … … … … … … … … 欠陥を含むプログラ ム … … … … … … … … … … … … 正し いプログラ ム 抽出器 状態遷移モデル 識別ルール 検証器 検証式生成器 不変条件 実装情報 欠陥パス 確認器 エラ ー … … … … … … … … … … … … 変異プログラ ム テスト データ 変異操作 前澤悠太ら,“インタラクションに着目したステートマシン抽出によるRichInternetApplicationsの欠陥発見の支援”,情報処理学会論文誌,Vol.52(No.2),pp.820-834,2013年2月. Y. Maezawa, et al., “Automated Verification of Pattern-Based Interaction Invariants in Ajax Applications”, ASE’13 Y. Maezawa, et al., “Validating Ajax Applications Using a Delay-Based Mutation Technique”, ASE’14 Y. Maezawa, “Interaction-Based Preventive Maintenance of Ajax Web Applications”, Ph.D. thesis, Dept. CS, U.Tokyo, 2015
  14. 14. About Me ~’14 • Webアプリの解析・モデル検査・テスト 14th December 2018 14 実装 デバッ グ … … … … … … … … … … … … 欠陥を含むプログラ ム … … … … … … … … … … … … 正し いプログラ ム 抽出器 状態遷移モデル 識別ルール 検証器 検証式生成器 不変条件 実装情報 欠陥パス 確認器 エラ ー … … … … … … … … … … … … 変異プログラ ム テスト データ 変異操作 前澤悠太ら,“インタラクションに着目したステートマシン抽出によるRichInternetApplicationsの欠陥発見の支援”,情報処理学会論文誌,Vol.52(No.2),pp.820-834,2013年2月. Y. Maezawa, et al., “Automated Verification of Pattern-Based Interaction Invariants in Ajax Applications”, ASE’13 Y. Maezawa, et al., “Validating Ajax Applications Using a Delay-Based Mutation Technique”, ASE’14 Y. Maezawa, “Interaction-Based Preventive Maintenance of Ajax Web Applications”, Ph.D. thesis, Dept. CS, U.Tokyo, 2015
  15. 15. About Me ~’14 • Webアプリの解析・モデル検査・テスト 14th December 2018 15 前澤悠太ら,“インタラクションに着目したステートマシン抽出によるRichInternetApplicationsの欠陥発見の支援”,情報処理学会論文誌,Vol.52(No.2),pp.820-834,2013年2月. Y. Maezawa, et al., “Automated Verification of Pattern-Based Interaction Invariants in Ajax Applications”, ASE’13 Y. Maezawa, et al., “Validating Ajax Applications Using a Delay-Based Mutation Technique”, ASE’14 Y. Maezawa, “Interaction-Based Preventive Maintenance of Ajax Web Applications”, Ph.D. thesis, Dept. CS, U.Tokyo, 2015 実装 デバッ グ … … … … … … … … … … … … 欠陥を含むプログラ ム … … … … … … … … … … … … 正し いプログラ ム 抽出器 状態遷移モデル 識別ルール 検証器 検証式生成器 不変条件 実装情報 欠陥パス 確認器 エラ ー … … … … … … … … … … … … 変異プログラ ム テスト データ 変異操作
  16. 16. 14th December 2018 16 よし、自動デバッグを作ろう (2014年10月あたり現在、まだ生成・検証手法は把握してなかった)
  17. 17. 少し横道にそれて • Webアプリのミューテーション解析 – 対象プログラムに人工的な欠陥を挿入 – テストが欠陥を検出できるか(欠陥検出能力を)測定 14th December 2018 17 K. Nishiura, Y. Maezawa, et al., “Mutation Analysis for JavaScript Web Applications Testing”, SEKE’13 変異器 変異操作 変異体 Ajaxプログラ ム テスト ケース 実欠陥 テスト 器 テスト 器 ②改善 変異スコ ア 誤Ajaxプログラ ム 課題: 欠陥除去する 自動プロ グラ ム修正 正Ajaxプログラ ム 実欠陥 ①見積 検出し た変異体数 生成し た変異体数 = Webアプリ特化 が売り
  18. 18. 少し横道にそれて • ミューテーション解析 – 対象プログラムに人工的な欠陥を挿入 – テストが欠陥を検出できるか(欠陥検出能力を)測定 14th December 2018 18 K. Nishiura, Y. Maezawa, et al., “Mutation Analysis for JavaScript Web Applications Testing”, SEKE’13 変異器 変異操作 変異体 Ajaxプログラ ム テスト ケース 実欠陥 テスト 器 テスト 器 ②改善 変異スコ ア 誤Ajaxプログラ ム 課題: 欠陥除去する 自動プロ グラ ム修正 正Ajaxプログラ ム 実欠陥 ①見積 検出し た変異体数 生成し た変異体数 =
  19. 19. 少し横道にそれて • ミューテーション解析 – 対象プログラムに人工的な欠陥を挿入 – テストが欠陥を検出できるか(欠陥検出能力を)測定 14th December 2018 19 K. Nishiura, Y. Maezawa, et al., “Mutation Analysis for JavaScript Web Applications Testing”, SEKE’13 変異器 変異操作 変異体 Ajaxプログラ ム テスト ケース 実欠陥 テスト 器 テスト 器 ②改善 変異スコ ア 誤Ajaxプログラ ム 課題: 欠陥除去する 自動プロ グラ ム修正 正Ajaxプログラ ム 実欠陥 ①見積 検出し た変異体数 生成し た変異体数 =
  20. 20. 14th December 2018 20 Aha!
  21. 21. About Me ~’14 • 変異操作=人工的な欠陥を埋め込む • デバッグ操作=変異操作の逆? 14th December 2018 21
  22. 22. 世の中そんなに甘くない • V. Debroy, et al., “Using Mutation to Automatically Suggest Fixes for Faulty Programs”, ICST’10 14th December 2018 22 変異操作⇔デバッグ操作 (Duality, 双対性)
  23. 23. 世の中そんなに甘くない • V. Debroy, et al., “Using Mutation to Automatically Suggest Fixes for Faulty Programs”, ICST’10 14th December 2018 23 変異操作⇔デバッグ操作 (Duality, 双対性) ドメイン特化 汎用設定 (CやJava)
  24. 24. About Me ’18~ • Webアプリの自動プログラム修正 – https://github.com/mzw/RevAjaxMutator 14th December 2018 24 TBA トップ会議になかなか通らない…
  25. 25. 14th December 2018 25 よし、実用化・産業展開だ (2018年4月、株式会社Udzuki設立) テスト自動化・自動プログラム修正を軸にした会社
  26. 26. 世の中そんなに甘くない 14th December 2018 26 _人人人人人人人人_ > テストがない <  ̄Y^Y^Y^Y^Y^Y^Y ̄ _人人人人人人人人人人人人_ > 可視化の方が興味ある <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄ _人人人人人人人人人人人人_ > テスト設計の支援して <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄ テスト自動化・自動デバック のエコシステム構築が必要
  27. 27. 立ちはだかる世界的大企業 • Sapienz/SapFix from Facebook – 2018年9月 14th December 2018 27
  28. 28. 立ちはだかる世界的大企業 • Sapienz/SapFix from Facebook – 2018年9月 14th December 2018 28 2016年4月@神保町 Ke Mao 前澤
  29. 29. 立ちはだかる世界的大企業 • Sapienz/SapFix from Facebook – 2018年9月 14th December 2018 29 2016年4月@神保町 前澤 Ke Mao 日本は一歩出遅れてしまったという認識 ツールを使う立場→開発して世界をリードしていきたい
  30. 30. 宣伝:Udzukiをよろしくおねがいします! 14th December 2018 30 項目 説明 会社名 株式会社Udzuki 所在地 東京都千代田区九段南1丁目5番6号りそな九段ビル5F・KSフロア 代表者 前澤 悠太 Ph.D. (情報理工学)(東京大学) 設立日 2018年4月 事業内容 ソフトウェア工学分野の学術研究をベースに  テスト自動化・自動プログラム修正に関する研究開発  Webアプリケーション開発・クラウド導入(インフラ〜UI/UX)  統計解析・機械学習プログラム実装  技術指導・講演 特徴  世界最先端のソフトウェアテスト・デバッグ技術を保有  情報理工学(コンピュータ科学)に関するハイレベルな知識  0/1の着想から実装・テスト・公開までSW開発全行程を網羅 社名の由来:SW開発者が創造的な活動に注力できる世界の実現に向けて 自動プログラム修正(Automated Program Repair)を最善策と見定め その頭文字APR→Aprilの略→四月(旧名:卯月)→Udzukiと連想し命名
  31. 31. 宣伝:翻訳本もよろしくおねがいします! • アジャイルイントロダクション – 著者:Bertrand Meyer – 監修:石川冬樹 – 翻訳:土肥拓生・前澤悠太・末永俊一郎 – 出版:近代科学社 • 2018/12/28発売 14th December 2018 31

×