SlideShare une entreprise Scribd logo
1  sur  31
Generate-and-Validate Program Repair
学術から産業へ持ち出してみて
株式会社Udzuki
代表取締役 前澤悠太
https://udzuki.jp
14th December 2018 1
第1回AI4SEセミナー
Udzuki – 社名の由来
14th December 2018 2
Udzuki?
Udzuki – 社名の由来
14th December 2018 3
自動プログラム修正
Udzuki – 社名の由来
14th December 2018 4
Automated Program Repair
Udzuki – 社名の由来
14th December 2018 5
APR
Udzuki – 社名の由来
14th December 2018 6
April
Udzuki – 社名の由来
14th December 2018 7
4月
Udzuki – 社名の由来
14th December 2018 8
卯月
Udzuki – 社名の由来
14th December 2018 9
Udzuki
Udzuki – 社名の由来
14th December 2018 10
Udzuki
Udzuki – 社名の由来
14th December 2018 11
Udzuki
テスト自動化・自動プログラム修正を軸にした会社
Udzuki – 社名の由来
14th December 2018 12
なぜ自動プログラム修正?
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
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
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
実装
デバッ グ
…
…
…
…
…
…
…
…
…
…
…
…
欠陥を含むプログラ ム
…
…
…
…
…
…
…
…
…
…
…
…
正し いプログラ ム
抽出器
状態遷移モデル
識別ルール
検証器
検証式生成器
不変条件
実装情報
欠陥パス
確認器
エラ ー
…
…
…
…
…
…
…
…
…
…
…
…
変異プログラ ム
テスト データ
変異操作
14th December 2018 16
よし、自動デバッグを作ろう
(2014年10月あたり現在、まだ生成・検証手法は把握してなかった)
少し横道にそれて
• Webアプリのミューテーション解析
– 対象プログラムに人工的な欠陥を挿入
– テストが欠陥を検出できるか(欠陥検出能力を)測定
14th December 2018 17
K. Nishiura, Y. Maezawa, et al., “Mutation Analysis for JavaScript Web Applications Testing”, SEKE’13
変異器 変異操作
変異体
Ajaxプログラ ム テスト ケース
実欠陥
テスト 器
テスト 器
②改善
変異スコ ア
誤Ajaxプログラ ム
課題: 欠陥除去する
自動プロ グラ ム修正
正Ajaxプログラ ム
実欠陥
①見積
検出し た変異体数
生成し た変異体数
=
Webアプリ特化
が売り
少し横道にそれて
• ミューテーション解析
– 対象プログラムに人工的な欠陥を挿入
– テストが欠陥を検出できるか(欠陥検出能力を)測定
14th December 2018 18
K. Nishiura, Y. Maezawa, et al., “Mutation Analysis for JavaScript Web Applications Testing”, SEKE’13
変異器 変異操作
変異体
Ajaxプログラ ム テスト ケース
実欠陥
テスト 器
テスト 器
②改善
変異スコ ア
誤Ajaxプログラ ム
課題: 欠陥除去する
自動プロ グラ ム修正
正Ajaxプログラ ム
実欠陥
①見積
検出し た変異体数
生成し た変異体数
=
少し横道にそれて
• ミューテーション解析
– 対象プログラムに人工的な欠陥を挿入
– テストが欠陥を検出できるか(欠陥検出能力を)測定
14th December 2018 19
K. Nishiura, Y. Maezawa, et al., “Mutation Analysis for JavaScript Web Applications Testing”, SEKE’13
変異器 変異操作
変異体
Ajaxプログラ ム テスト ケース
実欠陥
テスト 器
テスト 器
②改善
変異スコ ア
誤Ajaxプログラ ム
課題: 欠陥除去する
自動プロ グラ ム修正
正Ajaxプログラ ム
実欠陥
①見積
検出し た変異体数
生成し た変異体数
=
14th December 2018 20
Aha!
About Me ~’14
• 変異操作=人工的な欠陥を埋め込む
• デバッグ操作=変異操作の逆?
14th December 2018 21
世の中そんなに甘くない
• V. Debroy, et al., “Using Mutation to
Automatically Suggest Fixes for Faulty
Programs”, ICST’10
14th December 2018 22
変異操作⇔デバッグ操作
(Duality, 双対性)
世の中そんなに甘くない
• V. Debroy, et al., “Using Mutation to
Automatically Suggest Fixes for Faulty
Programs”, ICST’10
14th December 2018 23
変異操作⇔デバッグ操作
(Duality, 双対性)
ドメイン特化 汎用設定
(CやJava)
About Me ’18~
• Webアプリの自動プログラム修正
– https://github.com/mzw/RevAjaxMutator
14th December 2018 24
TBA トップ会議になかなか通らない…
14th December 2018 25
よし、実用化・産業展開だ
(2018年4月、株式会社Udzuki設立)
テスト自動化・自動プログラム修正を軸にした会社
世の中そんなに甘くない
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 ̄
テスト自動化・自動デバック
のエコシステム構築が必要
立ちはだかる世界的大企業
• Sapienz/SapFix from Facebook
– 2018年9月
14th December 2018 27
立ちはだかる世界的大企業
• Sapienz/SapFix from Facebook
– 2018年9月
14th December 2018 28
2016年4月@神保町
Ke Mao
前澤
立ちはだかる世界的大企業
• Sapienz/SapFix from Facebook
– 2018年9月
14th December 2018 29
2016年4月@神保町
前澤
Ke Mao
日本は一歩出遅れてしまったという認識
ツールを使う立場→開発して世界をリードしていきたい
宣伝: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と連想し命名
宣伝:翻訳本もよろしくおねがいします!
• アジャイルイントロダクション
– 著者:Bertrand Meyer
– 監修:石川冬樹
– 翻訳:土肥拓生・前澤悠太・末永俊一郎
– 出版:近代科学社
• 2018/12/28発売
14th December 2018 31

Contenu connexe

Tendances

ICST 2015 まるわかりDay! "Test Selection and Prioritization Track"
ICST 2015 まるわかりDay! "Test Selection and Prioritization Track"ICST 2015 まるわかりDay! "Test Selection and Prioritization Track"
ICST 2015 まるわかりDay! "Test Selection and Prioritization Track"SIGSTJ
 
「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」Koichi Tanizaki
 
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜Nozomi Ito
 
Issueの書き方と伝え方
Issueの書き方と伝え方Issueの書き方と伝え方
Issueの書き方と伝え方Rina Fukuda
 
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)Kotaro Ogino
 
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~Kazuhiro Suzuki
 
ディープラーニングとAppiumでテストを自動化
ディープラーニングとAppiumでテストを自動化ディープラーニングとAppiumでテストを自動化
ディープラーニングとAppiumでテストを自動化Nozomi Ito
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストYu Nobuoka
 
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかたRina Fukuda
 
【第6回テックヒルズ】検索基盤開発のための結合テスト環境の自動化
【第6回テックヒルズ】検索基盤開発のための結合テスト環境の自動化【第6回テックヒルズ】検索基盤開発のための結合テスト環境の自動化
【第6回テックヒルズ】検索基盤開発のための結合テスト環境の自動化Kotaro Ogino
 
Jasst14東北 事例発表 share
Jasst14東北 事例発表 shareJasst14東北 事例発表 share
Jasst14東北 事例発表 shareSatsuki Urayama
 
20181102_テスト管理を語る夕べ
20181102_テスト管理を語る夕べ20181102_テスト管理を語る夕べ
20181102_テスト管理を語る夕べKazuhiro Suzuki
 
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化Nozomi Ito
 
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションmirer
 
モックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-Cモックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-CShoichi Matsuda
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Koji Hasegawa
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようAkira Ikeda
 
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜Nozomi Ito
 
機械学習を活用したテスト自動化システムの設計
機械学習を活用したテスト自動化システムの設計機械学習を活用したテスト自動化システムの設計
機械学習を活用したテスト自動化システムの設計Nozomi Ito
 

Tendances (19)

ICST 2015 まるわかりDay! "Test Selection and Prioritization Track"
ICST 2015 まるわかりDay! "Test Selection and Prioritization Track"ICST 2015 まるわかりDay! "Test Selection and Prioritization Track"
ICST 2015 まるわかりDay! "Test Selection and Prioritization Track"
 
「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」
 
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
 
Issueの書き方と伝え方
Issueの書き方と伝え方Issueの書き方と伝え方
Issueの書き方と伝え方
 
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
 
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
 
ディープラーニングとAppiumでテストを自動化
ディープラーニングとAppiumでテストを自動化ディープラーニングとAppiumでテストを自動化
ディープラーニングとAppiumでテストを自動化
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテスト
 
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
 
【第6回テックヒルズ】検索基盤開発のための結合テスト環境の自動化
【第6回テックヒルズ】検索基盤開発のための結合テスト環境の自動化【第6回テックヒルズ】検索基盤開発のための結合テスト環境の自動化
【第6回テックヒルズ】検索基盤開発のための結合テスト環境の自動化
 
Jasst14東北 事例発表 share
Jasst14東北 事例発表 shareJasst14東北 事例発表 share
Jasst14東北 事例発表 share
 
20181102_テスト管理を語る夕べ
20181102_テスト管理を語る夕べ20181102_テスト管理を語る夕べ
20181102_テスト管理を語る夕べ
 
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化
 
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
 
モックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-Cモックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-C
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
 
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
 
機械学習を活用したテスト自動化システムの設計
機械学習を活用したテスト自動化システムの設計機械学習を活用したテスト自動化システムの設計
機械学習を活用したテスト自動化システムの設計
 

Similaire à 第1回AI4SEセミナー

2012 6 6_ga_trackrchinaminamoto
2012 6 6_ga_trackrchinaminamoto2012 6 6_ga_trackrchinaminamoto
2012 6 6_ga_trackrchinaminamotoChina Minamoto
 
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことアプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことleverages_event
 
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所Kotaro Ogino
 
2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介CASAREAL, Inc.
 
Java で開発する Azure Web Apps アプリケーション
Java で開発する Azure Web Apps アプリケーションJava で開発する Azure Web Apps アプリケーション
Java で開発する Azure Web Apps アプリケーション彰 村地
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Kenichi Kambara
 
#コロナに負けない ためのノーコード事業
#コロナに負けない ためのノーコード事業#コロナに負けない ためのノーコード事業
#コロナに負けない ためのノーコード事業Syuntaro Kane
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!CData Software Japan
 
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~MasashiOtsuka1
 
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについてタクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについてTakashi Suzuki
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestMasaki Nakagawa
 
iPadアプリ選択のベストプラクティス
iPadアプリ選択のベストプラクティスiPadアプリ選択のベストプラクティス
iPadアプリ選択のベストプラクティスfeedtailor
 
音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作Device WebAPI Consortium
 
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Kazuya Sugimoto
 
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac20141時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014Kazuhiro Suzuki
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向Tsutomu Ogasawara
 
AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』Ryohei Sogo
 
App center analyticsを使い倒そう
App center analyticsを使い倒そうApp center analyticsを使い倒そう
App center analyticsを使い倒そうAtsushi Nakamura
 

Similaire à 第1回AI4SEセミナー (20)

2012 6 6_ga_trackrchinaminamoto
2012 6 6_ga_trackrchinaminamoto2012 6 6_ga_trackrchinaminamoto
2012 6 6_ga_trackrchinaminamoto
 
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことアプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のこと
 
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
 
2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介
 
Java で開発する Azure Web Apps アプリケーション
Java で開発する Azure Web Apps アプリケーションJava で開発する Azure Web Apps アプリケーション
Java で開発する Azure Web Apps アプリケーション
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
#コロナに負けない ためのノーコード事業
#コロナに負けない ためのノーコード事業#コロナに負けない ためのノーコード事業
#コロナに負けない ためのノーコード事業
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
 
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
 
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについてタクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
 
iPadアプリ選択のベストプラクティス
iPadアプリ選択のベストプラクティスiPadアプリ選択のベストプラクティス
iPadアプリ選択のベストプラクティス
 
音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作
 
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
 
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac20141時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
 
OpenSpan_PreMarketing
OpenSpan_PreMarketingOpenSpan_PreMarketing
OpenSpan_PreMarketing
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
 
AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』
 
Klocworkのご紹介
Klocworkのご紹介Klocworkのご紹介
Klocworkのご紹介
 
App center analyticsを使い倒そう
App center analyticsを使い倒そうApp center analyticsを使い倒そう
App center analyticsを使い倒そう
 

Dernier

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 

Dernier (11)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

第1回AI4SEセミナー

  • 1. Generate-and-Validate Program Repair 学術から産業へ持ち出してみて 株式会社Udzuki 代表取締役 前澤悠太 https://udzuki.jp 14th December 2018 1 第1回AI4SEセミナー
  • 2. Udzuki – 社名の由来 14th December 2018 2 Udzuki?
  • 3. Udzuki – 社名の由来 14th December 2018 3 自動プログラム修正
  • 4. Udzuki – 社名の由来 14th December 2018 4 Automated Program Repair
  • 5. Udzuki – 社名の由来 14th December 2018 5 APR
  • 6. Udzuki – 社名の由来 14th December 2018 6 April
  • 7. Udzuki – 社名の由来 14th December 2018 7 4月
  • 8. Udzuki – 社名の由来 14th December 2018 8 卯月
  • 9. Udzuki – 社名の由来 14th December 2018 9 Udzuki
  • 10. Udzuki – 社名の由来 14th December 2018 10 Udzuki
  • 11. Udzuki – 社名の由来 14th December 2018 11 Udzuki テスト自動化・自動プログラム修正を軸にした会社
  • 12. Udzuki – 社名の由来 14th December 2018 12 なぜ自動プログラム修正?
  • 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. 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. 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. 14th December 2018 16 よし、自動デバッグを作ろう (2014年10月あたり現在、まだ生成・検証手法は把握してなかった)
  • 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. 少し横道にそれて • ミューテーション解析 – 対象プログラムに人工的な欠陥を挿入 – テストが欠陥を検出できるか(欠陥検出能力を)測定 14th December 2018 18 K. Nishiura, Y. Maezawa, et al., “Mutation Analysis for JavaScript Web Applications Testing”, SEKE’13 変異器 変異操作 変異体 Ajaxプログラ ム テスト ケース 実欠陥 テスト 器 テスト 器 ②改善 変異スコ ア 誤Ajaxプログラ ム 課題: 欠陥除去する 自動プロ グラ ム修正 正Ajaxプログラ ム 実欠陥 ①見積 検出し た変異体数 生成し た変異体数 =
  • 19. 少し横道にそれて • ミューテーション解析 – 対象プログラムに人工的な欠陥を挿入 – テストが欠陥を検出できるか(欠陥検出能力を)測定 14th December 2018 19 K. Nishiura, Y. Maezawa, et al., “Mutation Analysis for JavaScript Web Applications Testing”, SEKE’13 変異器 変異操作 変異体 Ajaxプログラ ム テスト ケース 実欠陥 テスト 器 テスト 器 ②改善 変異スコ ア 誤Ajaxプログラ ム 課題: 欠陥除去する 自動プロ グラ ム修正 正Ajaxプログラ ム 実欠陥 ①見積 検出し た変異体数 生成し た変異体数 =
  • 21. About Me ~’14 • 変異操作=人工的な欠陥を埋め込む • デバッグ操作=変異操作の逆? 14th December 2018 21
  • 22. 世の中そんなに甘くない • V. Debroy, et al., “Using Mutation to Automatically Suggest Fixes for Faulty Programs”, ICST’10 14th December 2018 22 変異操作⇔デバッグ操作 (Duality, 双対性)
  • 23. 世の中そんなに甘くない • V. Debroy, et al., “Using Mutation to Automatically Suggest Fixes for Faulty Programs”, ICST’10 14th December 2018 23 変異操作⇔デバッグ操作 (Duality, 双対性) ドメイン特化 汎用設定 (CやJava)
  • 24. About Me ’18~ • Webアプリの自動プログラム修正 – https://github.com/mzw/RevAjaxMutator 14th December 2018 24 TBA トップ会議になかなか通らない…
  • 25. 14th December 2018 25 よし、実用化・産業展開だ (2018年4月、株式会社Udzuki設立) テスト自動化・自動プログラム修正を軸にした会社
  • 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. 立ちはだかる世界的大企業 • Sapienz/SapFix from Facebook – 2018年9月 14th December 2018 27
  • 28. 立ちはだかる世界的大企業 • Sapienz/SapFix from Facebook – 2018年9月 14th December 2018 28 2016年4月@神保町 Ke Mao 前澤
  • 29. 立ちはだかる世界的大企業 • Sapienz/SapFix from Facebook – 2018年9月 14th December 2018 29 2016年4月@神保町 前澤 Ke Mao 日本は一歩出遅れてしまったという認識 ツールを使う立場→開発して世界をリードしていきたい
  • 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. 宣伝:翻訳本もよろしくおねがいします! • アジャイルイントロダクション – 著者:Bertrand Meyer – 監修:石川冬樹 – 翻訳:土肥拓生・前澤悠太・末永俊一郎 – 出版:近代科学社 • 2018/12/28発売 14th December 2018 31