【ICSE2011勉強会】 Understanding Broadcast Based Peer Review on Open Source Software Projects 担当: 大場 光明(名古屋大学)

Slides:



Advertisements
Similar presentations
Trac と Eclipse の 便利な機能. プロジェクト管理システム: Trac 0. はじめに バージョン管理システム: Subversion 統合開発環境: Eclipse ・ Wiki による情報 管理 ・進捗状況の管理 ・プログラムの作 成 ・リポジトリに データを集める.
Advertisements

「図書管理」のための Webアプリケーション開発 -Apache/Tomcat/MySQL/Java on Windows XP-
背景 ソフトウェアの大規模化・複雑化 生産性と品質の向上 ↓ オブジェクト指向分析設計の適用 開発ツールの投入.
Riding the Design Wave II
Brittany Jonson†, Yoonki Song†, Emerson Murphy-Hill†, Robert Bowdidge‡
資料1-4 平成27年度 第1回技術委員会 2015年度技術委員会の目標と 検討項目(案)
相互評価システムの開発と大学情報科目における利用 柴田好章(名古屋大学大学院) 小川亮(富山大学教育学部)
疫学概論 母集団と標本集団 Lesson 10. 標本抽出 §A. 母集団と標本集団 S.Harano,MD,PhD,MPH.
研究の背景 コードクローン ソースコード中に存在する一致または類似したコード片
第2章 第3節 コミュニケーションにおけるネットワークの活用 情報Cプレゼン用資料(座学24) 担当 早苗雅史
ICSE2012勉強会 岡山県立大学 天嵜 聡介.
肥後 芳樹, ○石尾 隆, 渡邊 結, 出張 純也, 畑 秀明, 三宅 達也, 水野 修, 丸山 勝久
FSE/ASE2011勉強会 岡山県立大学 天嵜 聡介.
一歩進んだインターネットの利用 ~Firefox と qwikWeb~
第2章 第3節 コミュニケーションにおけるネットワークの活用 情報Cプレゼン用資料(座学24) 担当 早苗雅史
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
高山建志 五十嵐健夫 テクスチャ合成の新たな応用と展開 k 情報処理 vol.53 No.6 June 2012 pp
メソッド名とその周辺の識別子の 相関ルールに基づくメソッド名変更支援手法
Semi-Supervised QA with Generative Domain-Adaptive Nets
ソフトウェアリポジトリにおける コードクローン作成者・利用者関係分析手法とその適用
ソースコードの変更履歴における メトリクス値の変化を用いた ソフトウェアの特性分析
コードクローンに含まれるメソッド呼び出しの 変更度合の分析
コードクローンに含まれるメソッド呼び出しの 変更度合の調査
識別子の命名支援を目的とした動詞-目的語関係の辞書構築
ソードコードの編集に基づいた コードクローンの分類とその分析システム
オープンソース開発の履歴情報を用いたコミュニティ検索支援システム
Authoring Environment for Story-based Digital Educational Games
利用関係に基づく類似度を用いたJavaコンポーネント分類ツールの作成
クローンセットに対する主要編集者の分析法の提案と調査
只見町 インターネット・エコミュージアムの「キーワード」検索の改善
コードクローン検出ツールを用いた ソースコード分析システムの試作と プログラミング演習への適用
横断的関心事に対応したオブジェクト指向言語GluonJとその織り込み関係の可視化ツール
第24回応用言語学講座公開連続講演会 後援:国際言語文化研究科教育研究プロジェクト経費
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
ソースコードの特徴量を用いた機械学習による メソッド抽出リファクタリング推薦手法
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
コードクローンの動作を比較するためのコードクローン周辺コードの解析
ハッシュ値比較による Javaバイトコードに含まれる ライブラリの検出手法
UMLモデルを対象とした リファクタリング候補検出の試み
Winter Workshop in Kanazawa -プロセスと方法論-
コードクローン検出に基づくデザイン パターン適用支援手法の提案と実現
Data Clustering: A Review
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
プログラム理解におけるThin sliceの 統計的調査による有用性評価
W1 X-PERT: Accurate Identification of Cross-Browser Issues in Web Applications Shauvik Roy Choudhary, Mukul R. Prasad, and Alessandro Orso (Georgia Tech,
コードクローン編集者数に着目した開発履歴の分析
ビジネス プロジェクトの計画 発表者名 | 会社名.
シナリオを用いたレビュー手法PBRの追証実験 - UMLで記述された設計仕様書を対象として -
コードクローンの理解支援を目的としたコードクローン周辺コードの解析
コードクローン分類の詳細化に基づく 集約パターンの提案と評価
Q3 On the value of user preferences in search-based software engineering: a case study in software product lines Abdel Salam Sayyad (West Virginia University,
プログラムスライスを用いた凝集度メトリクスに基づく 類似メソッド集約候補の順位付け手法
製品またはサービスの販売 サブタイトル.
保守請負時を対象とした 労力見積のためのメトリクスの提案
dcNavi:デバッグ支援のための グラフベース推薦システム
アスペクト指向言語のための視点に応じた編集を可能にするツール
クローン検出ツールを用いた ソフトウェアシステムの類似度調査
オープンソースソフトウェアに対する コーディングパターン分析の適用
メソッドの同時更新履歴を用いたクラスの機能別分類法
資料3-2 平成26年度 第3回技術委員会資料 次年度テーマの検討
The Personal Publication Reader: Illustrating Web Data Extraction, Personalization and Reasoning for the Semantic Web Robert Baumgartner*, Nicola Henze+,
コードクローン解析に基づく デザインパターン適用候補の検出手法
回帰テストにおける実行系列の差分の効率的な検出手法
Don’t Touch My Code! Examining the Effects of Ownership on Software Quality C. Bird (マイクロソフト・リサーチ) et al. 担当者:吉田(NAIST)
識別子の読解を目的とした名詞辞書の作成方法の一試案
アジャイル開発プロセス 森口朋広.
オープンソースソフトウェア開発に見る SCM中心型ソフトウェア開発
FSE/ASE勉強会 A10:Software Maintenance II
プログラム依存グラフを用いた ソースコードのパターン違反検出法
Presentation transcript:

【ICSE2011勉強会】 Understanding Broadcast Based Peer Review on Open Source Software Projects 担当: 大場 光明(名古屋大学)

研究の目的・手法 オープンソースソフトウェア開発におけるピアレビュー その裏にあるメカニズムや振る舞いについて調査 ある人がパッチを作り、それがコミュニティ全体に ブロードキャスト(同時通報)され、興味のある関係者たちが レビュー、議論を重ねて採否を決める 無視されたり議論が発散したりしそうなのに、実際には 非常に成功している その裏にあるメカニズムや振る舞いについて調査 Apache HTTP server, Subversion, FreeBSD, Linuxカーネル, KDE の5プロジェクトについて調査 無作為に選んだレビューログ(50~200件)を目で見て分析 各プロジェクトのコア開発者(計9名)に電話・メールで聞き取り Session 19 担当:大塲(名古屋大)

レビュアーはコードに挟み込むようにコメントしている Research Question (1) Q1: レビューされるパッチはどう選ばれる? 開発者は自分の興味のある領域や、過去にコミットしていて 責任のある部分に対するパッチを選んでレビューしている 興味のある領域に対する議論や、過去に参加した議論への 返信を様々な手法で抽出 メールフィルタ、件名→コミットログ→diff の段階的な詳細化、 引用に挟みこんでの返信、自分の発言に対する返信には To: や Cc: に自分が含まれるという点 レビュアーはコードに挟み込むようにコメントしている Figure 1: 余白に分析内容を書き込んだレビューログの例(一部) Session 19 担当:大塲(名古屋大)

Research Question (2, 3) Q2: なぜパッチは無視されることがあるのか? OSSプロジェクトでは開発者に時間がない場合、 レビューの質を落とすより、一部を後回しにすることを選ぶ ⇒ 誰からも興味を持たれなかったパッチは無視される コア開発者に興味を持ってもらえるよう、そのパッチの作者が MLに再送するなど努力しなければならない Q3: どんなレビュアーがどのように議論している? OSS開発において各人に固定の役割はなく、 各々の強みを生かした集団的問題解決が行われる 外部の人も客観性や能力があれば重要な参加者に パッチの持つ問題によって、純粋に技術的な議論と、 プロジェクトの目的や対象範囲に関わる議論に分かれる Session 19 担当:大塲(名古屋大)

Research Question (4, 5) Q4: 1つのレビューに多数が関わってきたら? ささいな話題ほど多くの人が関わってきて議論が発散 いわゆる「自転車置き場の議論」 コア開発者はそのような事態をなるべく避けようと努めている 実際、コミッター以外の意見が過半数のレビューは5%以下 Q5: 大規模なプロジェクトでもスケールする? FreeBSD や KDE では話題別のメーリングリストを設けて 効果的に議論を分散 Linux ではパッチを送るときレビュアー個人のアドレスも加え る手法が広く用いられている 90%のメールに複数の宛先(他のプロジェクトでは9%~27%) Session 19 担当:大塲(名古屋大)

Session 19: Software System as City: A Controlled experiment 【SIGMOD/VLDB/ICDE2011勉強会】 Session 19: Software System as City: A Controlled experiment Richard Wettel, Michele Lanza and Romain Robbes 担当: 高井 康勢(名古屋大学)

背景 Software Visualization(以下SV) Tool 背景にある問題: 研究の目的: ソースコードなどを可視化し、プログラム理解を支援す るツール 背景にある問題: 色々なツールがあるが、経験的に有用であると評価さ れているツールがほとんどない      SVツールの発展・導入を妨げている 研究の目的: SVツールの評価を行う

評価対象SVツール CodeCity: ソースコードを都市として表現 既存ツール(Polymetric Views)の拡張 色分けのしかたを変更 出力(Disharmony Map): 建物: クラス 高さ: メソッド数 基礎の面積: 属性数 色: design problem[18] dataに基づく [18] R. Wettel and M. Lanza. Visually localizing design problems with disharmony maps. In Proceedings of Softvis 2008, pages155–164. ACM Press, 2008.

ツールの評価にあたり ツールの比較を行うような実験のための ガイドラインをTR[19]にまとめた ガイドラインに基づき評価実験を行った プログラム理解の補助に関する実験 EclipseとExcelを用いた方法と比較 正確性と所要時間を比較 クラス間関連・変更による影響範囲・主要クラスの特定 [19] R. Wettel, M. Lanza, and R. Robbes. Empirical validation of CodeCity: A controlled experiment. Tech Report 2010/05,University of Lugano, June 2010.

CodeCityは、プログラム理解の支援ツールとして非常に有用である 評価 SVツールを利用することで、プログラム理解の正確性 が24%増加し、所要時間が12%減少 概ねほとんどのタスクで双方ともSVツールが優位 上位N・最大などを探すタスクはEclipse+Excelの方が優位 正確性を必要とするプログラム理解 Eclipse+Excelが優位だと予測された SVツールでもそれほど正確性において引けを取らなかった CodeCityは、プログラム理解の支援ツールとして非常に有用である