SlideShare a Scribd company logo
1 of 26
コードレビューにおけるレビュワー間
の協調行動の分析
ソフトウェア工学研究室
北川 愼人
1
コードレビュー
• 複数のレビュワーが,ソフトウェアへの機能追加や不具合修
正を目的として作成されたソースコードを査読することにより,
ソースコードの中にバグや不具合が含まれているかどうかを
確認するプロセス.
2
1. 開発者がソース
コードを作成する
2. レビュワーがソース
コードを査読する
4. ソースコードが採用され
た場合,そのソースコー
ドはソフトウェアのプロ
グラムに統合される
3. ソースコードに不具合が見つかった
場合,レビュワーは開発者にソース
コードの修正を依頼する
近年のコードレビュー
• 近年では,Gerritというコードレビューシステムを用いたコード
レビューも行われている.
3
• レビュワーは,レビュー票の
投稿者にレビューを依頼さ
れる.
• レビューは強制ではないた
め,レビューを行わないレ
ビュワーも存在する.
コードレビューの利益とコスト(1)
• レビュワーはソフトウェアの品質の向上を目的にコードレ
ビューを行っている[1].
• コードレビューは仕事であるので,レビュワーはコードレビュー
を行うことにより自身の体力や時間を消費する.
4
レビュワーにとっての利益=ソフトウェアの品質向上
レビュワーにとってのコスト
=レビュワー自身の体力や時間の消費
[1] A. Bacchelli and C. Bird, “Expectations, outcomes, and challenges of modern code review,” in Proc. of 35th Int. Conf.
on Softw. Eng., ser. ICSE ’13. Piscataway, NJ, USA: IEEE Press, 2013, pp. 712–721.
コードレビューの利益とコスト(2)
• コードレビューが行われたソースコードの内,約15%のソース
コードで不具合が十分に修正されず,不具合の再修正が必要
とされている[2].
• 2人以上のレビュワーにレビューされたソースコードは,1人の
レビュワーによってレビューされたソースコードに比べ,再修
正が必要となる不具合の数が少ないことが明らかにされてい
る[3].
5
2人以上のレビュワーでコードレビューを行うことによって,将来
の仕事(コスト)を減らすことができる.
[2] E. Shihab, A. Ihara, Y. Kamei, W. M. Ibrahim, M. Ohira, B. Adams, A. E. Hassan, and K.-i. Matsumoto, “Studying re-
opened bugs in open source software,” Empirical Software Engineering, vol. 18, no. 5, pp. 1005–1042, 2012.
[3] S. McIntosh, Y. Kamei, B. Adams, and A. E. Hassan, “The impact of code review
coverage and code review participation on software quality: A case study of the qt, vtk, and itk projects,” in Proc. of 11th
Work. Conf. on Mining Softw. Repositories, ser. MSR 2014. New York, NY, USA: ACM, 2014, pp. 192–201.
コードレビューにおけるフリーライド
• 誰か一人でもレビューを行えば,ソフトウェアの品質向上とい
う利益をレビュワー全員が得ることができる.
• Qt,OpenStackともに,1人のレビュワーのみにでもレビューが行
われれば,ソースコードは採用・不採用が決定可能な状態となる.
• フリーライドとは,コストを支払わずに利益を得ること.
6
コードレビューには,レビュワーがフリーライドを
する状況が存在するのではないか?
フリーライドの実態調査
• 近年のコードレビューにおいて,レビュワーがフリーライドを
行っているか調査を行った.
• 調査対象
• Qtで行われたコードレビュー : 68,113件
• OpenStackで行われたコードレビュー : 86,549件
• コードレビューを大きく以下の3つに分類
• 2人以上のレビュワーがレビューを依頼され,最終的に2人以上のレ
ビュワーがレビューを行った.
• 2人以上のレビュワーがレビューを依頼され,最終的に1人のレビュワー
がレビューを行った.
• 2人以上のレビュワーがレビューを依頼され,最初から最後まで1人のレ
ビュワーがレビューを行った.
7
フリーライドの実態調査
• 近年のコードレビューにおいて,レビュワーがフリーライドを
行っているか調査を行った.
• 調査対象
• Qtで行われたコードレビュー : 68,113件
• OpenStackで行われたコードレビュー : 86,549件
• コードレビューを大きく以下の3つに分類
• 2人以上のレビュワーがレビューを依頼され,最終的に2人以上のレ
ビュワーがレビューを行った.
• 2人以上のレビュワーがレビューを依頼され,最終的に1人のレビュワー
がレビューを行った.
• 2人以上のレビュワーがレビューを依頼され,最初から最後まで1人のレ
ビュワーがレビューを行った.
8
フリーライドとみなす
調査結果
• 2人以上のレビュワーがレビューを依頼され,最終的に2人以
上のレビュワーがレビューを行った.
• 2人以上のレビュワーがレビューを依頼され,最終的に1人の
レビュワーがレビューを行った.
• 2人以上のレビュワーがレビューを依頼され,最初から最後ま
で1人のレビュワーがレビューを行った.
9
Qt : 55,252件 (約81%) OpenStack : 67,537件 (約78%)
Qt : 12,042件 (約18%) OpenStack : 13,545件 (約15%)
Qt : 818件 (約1%) OpenStack : 6,075件 (約7%)
調査結果
• 2人以上のレビュワーがレビューを依頼され,最終的に2人以
上のレビュワーがレビューを行った.
• 2人以上のレビュワーがレビューを依頼され,最終的に1人の
レビュワーがレビューを行った.
• 2人以上のレビュワーがレビューを依頼され,最初から最後ま
で1人のレビュワーがレビューを行った.
10
Qt : 55,252件 (約81%) OpenStack : 67,537件 (約78%)
Qt : 12,042件 (約18%) OpenStack : 13,545件 (約15%)
Qt : 818件 (約1%) OpenStack : 6,075件 (約7%)
フリーライドの実態
• Qtで約19%,OpenStackで約22%のコードレビューにおいて,
レビュワーのフリーライドが確認できた.
• よって,レビュワーはフリーライドを行うと考えられるが,レビュ
ワー全員がレビューを放棄すると,ソフトウェアの品質は永遠
に向上しない.
• そこで,レビュワーはレビューを実施したり,時に放棄したりと,
状況に応じて自身の行動を選択しているのではないか?
11
研究目的・アプローチ
研究目的
• コードレビューにおけるレビュワーの協調行動の実態を理論
的に明らかにする.
アプローチ
• ゲーム理論を用いてレビュワー間での利益・コスト・戦略のや
りとりを数学的にモデル化する.
• コードレビューのゲームモデルとして,フリーライドが可能な状
況を表現するゲームモデルであるスノードリフトゲームを適用
する.
12
戦略型ゲーム
13
戦略 A 戦略 B
戦略 A (効用値 A, 効用値 B) (効用値 C, 効用値 D)
戦略 B (効用値 E, 効用値 F) (効用値 G, 効用値 H)
プレイヤー B
プレイヤー A
• プレイヤー,戦略,効用値の3つの要素からなるゲーム
.
• 各プレイヤーの選択する戦略の組み合わせによって,各プレ
イヤーは対応する効用値(利益とコストからなる値)を得ること
ができる.
補足:コードレビューの利益とコスト(1)
• レビュワーはソフトウェアの品質の向上を目的にコードレ
ビューを行っている[1].
• コードレビューは仕事であるので,レビュワーはコードレビュー
を行うことにより自身の体力や時間を消費する.
14
レビュワーにとっての利益=ソフトウェアの品質向上
レビュワーにとってのコスト
=レビュワー自身の体力や時間の消費
[1] A. Bacchelli and C. Bird, “Expectations, outcomes, and challenges of modern code review,” in Proc. of 35th Int. Conf.
on Softw. Eng., ser. ICSE ’13. Piscataway, NJ, USA: IEEE Press, 2013, pp. 712–721.
補足:コードレビューの利益とコスト(2)
• コードレビューが行われたソースコードの内,約15%のソース
コードで不具合が十分に修正されず,不具合の再修正が必要
とされている[2].
• 2人以上のレビュワーにレビューされたソースコードは,1人の
レビュワーによってレビューされたソースコードに比べ,再修
正が必要となる不具合の数が少ないことが明らかにされてい
る[3].
15
2人以上のレビュワーでコードレビューを行うことによって,将来
の仕事(コスト)を減らすことができる.
[2] E. Shihab, A. Ihara, Y. Kamei, W. M. Ibrahim, M. Ohira, B. Adams, A. E. Hassan, and K.-i. Matsumoto, “Studying re-
opened bugs in open source software,” Empirical Software Engineering, vol. 18, no. 5, pp. 1005–1042, 2012.
[3] S. McIntosh, Y. Kamei, B. Adams, and A. E. Hassan, “The impact of code review
coverage and code review participation on software quality: A case study of the qt, vtk, and itk projects,” in Proc. of 11th
Work. Conf. on Mining Softw. Repositories, ser. MSR 2014. New York, NY, USA: ACM, 2014, pp. 192–201.
コードレビューのゲームモデル(1)
16
レビュワーA レビュワーB
• 2人のレビュワーA,Bがあるパッチをレビューする状況を考え
る.
• もし,レビューをすればソフトウェアの品質を向上させることが
できるので利得bを得ることができるが,体力や時間を消耗す
るのでコストcがかかる.
• どちらか一方だけがレビューをすれば,もう一方のプレイヤー
も利得bを得ることができる.
• 2人で一緒にレビューをすれば,お互いにコストを半分に抑え
ることができる.
コードレビューのゲームモデル(2)
17
レビューする
(Cooperate, C)
レビューしない
(Defect, D)
レビューする
(Cooperate, C)
レビューしない
(Defect, D)
レビュワー B
レビュワー A
• このようなゲームモデルはスノードリフトゲームと呼ばれ,フ
リーライドが可能な状況を分析するゲームモデルとして知られ
ている[4][5].
[4] R. Sugden, The Economics of Rights, Cooperation and Welfare, ser. The Economics of Rights, Co-operation and
Welfare. Palgrave Macmillan, 2005.
[5] C. Hauert and M. Doebeli, “Spatial structure often inhibits the evolution of cooperation in the snowdrift game,”
Nature, vol. 428, no. 6983, pp. 643– 646, 2004.
ナッシュ均衡
• 戦略型ゲームの解概念の1つであり,各プレイヤーの合理的
な戦略選択の結果である.
• 各プレイヤーが1つだけ戦略を選択する場合,その時のナッ
シュ均衡を純粋戦略ナッシュ均衡と呼ぶ.
18
レビューする
(Cooperate, C)
レビューしない
(Defect, D)
レビューする
(Cooperate, C)
レビューしない
(Defect, D)
レビュワー B
レビュワー A
純粋戦略ナッシュ均衡
混合戦略ナッシュ均衡(1)
• 各プレイヤーがお互いの戦略選択確率に従って戦略を選択
する場合,その時のナッシュ均衡を混合戦略ナッシュ均衡と
呼ぶ.
19
レビューする
(Cooperate, C)
レビューしない
(Defect, D)
レビューする
(Cooperate, C)
レビューしない
(Defect, D)
レビュワー B
レビュワー A
p
1-p
q 1-q戦略選択確率
混合戦略ナッシュ均衡(2)
• 混合戦略ナッシュ均衡は,戦略選択確率のグラフを用いて求
める.また,混合戦略ナッシュ均衡は,各プレイヤーの戦略選
択確率の組で表される.
20
※
コードレビューのゲーム理論による分析(1)
• 純粋戦略ナッシュ均衡から,レビュワーにとって,自身はレ
ビューせず,相手のレビュワーがレビューするのを待つのが
合理的な戦略である.
21
レビューする
(Cooperate, C)
レビューしない
(Defect, D)
レビューする
(Cooperate, C)
レビューしない
(Defect, D)
レビュワー B
レビュワー A
純粋戦略ナッシュ均衡
コードレビューのゲーム理論による分析(2)
• 実データから,実際のコードレビューは,
の均衡状態に陥っていると考えられる.
22
※
コードレビューのゲーム理論による分析(3)
• nの値が大きいほど(bの値がcより大きいほど),各レビュワー
がレビューを行う確率は高くなる.
23
※
コードレビューのゲーム理論による分析(4)
• 混合戦略ナッシュ均衡の結果から,レビュワーは,利得がコス
トに比べて高いほど,相手のレビュワーと協調してレビューを
行うことが合理的である.
• 逆に,利得がコストに比べて低いほど,お互いのレビュワーは
レビューをしないことが合理的である.
24
考察
• 未熟な開発者の作成したソースコードは,熟練した開発者の
作成したソースコードに比べて1.5から24倍ほど多くのバグが
含まれていることが報告されている[6].
• 未熟な開発者の作成したソースコードは,熟練した開発者の
作成したソースコードに比べて2から19倍ほど長い期間,レ
ビューされずに放置される傾向が高いことが報告されている[7].
25
[7] A. Bosu and J. C. Carver, “Impact of developer reputation on code review outcomes in oss projects: An empirical
investigation,” in Proc. of 8th ACM/IEEE Int. Symp. on Empirical Softw. Eng. and Measurement, ser. ESEM ’14. New
York, NY, USA: ACM, 2014, pp. 33:1–33:10.
[6] A. Bosu, “Characteristics of the vulnerable code changes identified through peer code review,” in Companion
Proceedings of the 36th International Conference on Software Engineering, ser. ICSE Companion 2014. New York, NY,
USA: ACM, 2014, pp. 736–738.
定量的な分析からも,利得が低い(コストが高い)ソースコードは,
レビューされずに放置される傾向にあることが報告されている.
まとめ
• 研究背景
• コードレビューにおいて,レビュワーがフリーライドを行っている状況が
存在する.
• 研究目的
• コードレビューにおけるレビュワーの協調行動の実態を理論的に明らか
にする.
• アプローチ
• コードレビューを行う状況をスノードリフトゲームでゲームモデル化して
分析する.
• 結果
• レビュワーにとって,1人のレビュワーがレビューを行うことが合理的で
ある.
• レビューをすることによって得られる利得がコストに比べて高ければ高
いほど2人のレビュワーがレビューを行うことが合理的である.
26

More Related Content

What's hot

Swift2 の新機能 Protocol Extension
Swift2 の新機能 Protocol ExtensionSwift2 の新機能 Protocol Extension
Swift2 の新機能 Protocol ExtensionYuichi Adachi
 
Swift2.x を Scala からみる
Swift2.x を Scala からみるSwift2.x を Scala からみる
Swift2.x を Scala からみるYuichi Adachi
 
続・ゲンバのSwift
続・ゲンバのSwift続・ゲンバのSwift
続・ゲンバのSwiftYuichi Adachi
 
DVGA writeup
DVGA writeupDVGA writeup
DVGA writeupYu Iwama
 
Klocwork 2018.0 アップデート
Klocwork 2018.0 アップデートKlocwork 2018.0 アップデート
Klocwork 2018.0 アップデートMasaru Horioka
 
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例健一 辰濱
 
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)Developers Summit
 
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486Tsunenori Oohara
 

What's hot (9)

Swift2 の新機能 Protocol Extension
Swift2 の新機能 Protocol ExtensionSwift2 の新機能 Protocol Extension
Swift2 の新機能 Protocol Extension
 
静的解析のROI
静的解析のROI静的解析のROI
静的解析のROI
 
Swift2.x を Scala からみる
Swift2.x を Scala からみるSwift2.x を Scala からみる
Swift2.x を Scala からみる
 
続・ゲンバのSwift
続・ゲンバのSwift続・ゲンバのSwift
続・ゲンバのSwift
 
DVGA writeup
DVGA writeupDVGA writeup
DVGA writeup
 
Klocwork 2018.0 アップデート
Klocwork 2018.0 アップデートKlocwork 2018.0 アップデート
Klocwork 2018.0 アップデート
 
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
 
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
 
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486
 

Similar to 研究紹介スライド

XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」Shuji Morisaki
 
2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価
2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価
2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価n-yuki
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminarManabu Shimobe
 
Scrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudyScrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudyHiraku Nakano
 
JavaScript And Keywords
JavaScript And KeywordsJavaScript And Keywords
JavaScript And Keywordsuupaa
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1Hiro Yoshioka
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02Hiro Yoshioka
 
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込むKazumi IWANAGA
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaShigeru Hanada
 
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンドTakehara Ryo
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキングTakayuki Kondou
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験についてRakuten Group, Inc.
 
ログ管理でウキウキAndroid Life (Log Management in Android)
ログ管理でウキウキAndroid Life (Log Management in Android)ログ管理でウキウキAndroid Life (Log Management in Android)
ログ管理でウキウキAndroid Life (Log Management in Android)Tomoaki Imai
 
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみたOpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた徹 上野山
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014Koji Hasegawa
 
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~Developers Summit
 
レボリューションR(RRE)のご紹介
レボリューションR(RRE)のご紹介レボリューションR(RRE)のご紹介
レボリューションR(RRE)のご紹介Satoshi Kitajima
 
ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明しょうご すずき
 
あるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクルあるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクルKentaro Iizuka
 

Similar to 研究紹介スライド (20)

XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
 
2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価
2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価
2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
 
Scrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudyScrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudy
 
JavaScript And Keywords
JavaScript And KeywordsJavaScript And Keywords
JavaScript And Keywords
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
 
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
 
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
 
ログ管理でウキウキAndroid Life (Log Management in Android)
ログ管理でウキウキAndroid Life (Log Management in Android)ログ管理でウキウキAndroid Life (Log Management in Android)
ログ管理でウキウキAndroid Life (Log Management in Android)
 
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみたOpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
 
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
 
レボリューションR(RRE)のご紹介
レボリューションR(RRE)のご紹介レボリューションR(RRE)のご紹介
レボリューションR(RRE)のご紹介
 
Ldd13 present
Ldd13 presentLdd13 present
Ldd13 present
 
ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明
 
あるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクルあるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクル
 

Recently uploaded

International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1Toru Oga
 
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」inspirehighstaff03
 
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」inspirehighstaff03
 
My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」inspirehighstaff03
 
My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」inspirehighstaff03
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfoganekyokoi
 
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」inspirehighstaff03
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdfoganekyokoi
 
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdfMy Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdfinspirehighstaff03
 
My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」inspirehighstaff03
 
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」inspirehighstaff03
 
My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」inspirehighstaff03
 
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」inspirehighstaff03
 
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slidessusere0a682
 
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」inspirehighstaff03
 
My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」inspirehighstaff03
 
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」inspirehighstaff03
 
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイントshu1108hina1020
 
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」inspirehighstaff03
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfoganekyokoi
 

Recently uploaded (20)

International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1
 
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
 
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
 
My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」
 
My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdf
 
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdf
 
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdfMy Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
 
My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」
 
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
 
My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」
 
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
 
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
 
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
 
My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」
 
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
 
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
 
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdf
 

研究紹介スライド

Editor's Notes

  1. コードレビューについて説明します.コードレビューとは,複数のレビュワーがパッチを査読することにより,パッチの中にバグや不具合が含まれているかどうかを確認するプロセスです.パッチとは,元となるプログラムの改善や機能追加のために作られたソースコードの差分を指します.基本的なコードレビューの流れでは,まず開発者がパッチを作成し,パッチのレビューをレビュワーに依頼します.その後,複数人のレビュワーがパッチを査読し,
  2. 合意形成:レビュワー間でパッチを採用するか不採用とするか意見が一致する
  3. 合意形成:レビュワー間でパッチを採用するか不採用とするか意見が一致する
  4. まずは,OSS開発に関する知見から得られる情報を元に,ゲームモデルの構築を行います.今回は,