EASEプロジェクトの現状と展望 JEITAソフトウェアエンジニアリング技術専門委員会

Slides:



Advertisements
Similar presentations
IBMユーザ研究会九州研T3 3.Web2.0を実際に使ってみた. Web2.0を実際に使ってみました 研究会をプロジェクトに見立 てて “ Google SpreadSheet ” で会議を開く “ SNS ” でコミュニケーションを補助する “ Wiki ” で成果物を共有する.
Advertisements

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 ソフトウェア部品推薦のための.
1 EASE プロジェクトにおける EPM ( Empirical Project Monitor) を用いたプロジェクト管理デモ 奈良先端科学技術大学院大学 産学官連携研究員 松村 知子 2005 年 9 月 30 日 JISA 経営者セミナー.
ウェブの時空間解析技術 東京大学生産技術研究所 戦略情報融合国際研究センター 成果概要 ウェブアーカイブ ウェブ空間解析 ウェブ時系列解析
PacSec Nov 6, ISMSおよびその重要性 Richard Keirstead CISSP, BS7799 主任監査員
資料1-4 平成27年度 第1回技術委員会 2015年度技術委員会の目標と 検討項目(案)
『どこでも運用システム』の開発状況 (第二報) iPad版衛星状態監視システム (プロトタイプ) どこでも運用システムと他システムとの接続
情報爆発A01支援班 マイサーチエンジン開発環境支援グループ 中村聡史, 大島裕明, 田中克己, 喜連川優
研究の背景 コードクローン ソースコード中に存在する一致または類似したコード片
実証的ソフトウェア工学環境とEASEプロジェクトについて
肥後 芳樹, ○石尾 隆, 渡邊 結, 出張 純也, 畑 秀明, 三宅 達也, 水野 修, 丸山 勝久
共同ローカリゼーション フレームワーク 井上 謙次.
別紙4 1.事業の概要 【事業名】 ○○ 【事業代表者】 ㈱○○ ○川○介 【実施予定年度】平成○~○年度 平成28年 月 日
SS2009 形式手法の適用ワーキング グループの報告
平成30年度観光地域動向調査事業「那覇空港における二次交通利用動向調査」
川口真司 松下誠 井上克郎 大阪大学大学院情報科学研究科
Java ソフトウェア部品検索システム SPARS-J のための リポジトリ自動更新機能の実現
東京大学空間情報科学研究センターを 中心とした空間情報データベースの整備
平成30年度 那覇空港における二次交通としての路線バス等の利用促進に関する調査・検討業務
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
ソースコードの変更履歴における メトリクス値の変化を用いた ソフトウェアの特性分析
実践的ソフトウェア工学における 産学協力 井上克郎 大阪大学大学院基礎工学研究科.
「沖縄におけるスポーツサイエンスの拠点化に向けた
コードクローンに含まれるメソッド呼び出しの 変更度合の分析
ソードコードの編集に基づいた コードクローンの分類とその分析システム
Javaソースコード蓄積・ 検索システムSPARS-Jの概要
ソフトウェアを取り巻く環境の変化がメトリクスに及ぼす影響について
利用関係に基づく類似度を用いたJavaコンポーネント分類ツールの作成
重複コードと非重複コードにおける 修正頻度の比較
社会シミュレーションのための モデル作成環境
コードクローン検出ツールを用いた ソースコード分析システムの試作と プログラミング演習への適用
長期滞在型テレワークの誘致及び導入検討調査
ソフトウェア設計検証 研究室の紹介 知能情報学部 准教授 新田直也.
数量分析 第2回 データ解析技法とソフトウェア
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
ソースコードの特徴量を用いた機械学習による メソッド抽出リファクタリング推薦手法
20XX年度 ○○施策導入について (例)  社内講師の計画的育成とトレーニング導入について ○年○月○日 所属・担当者名.
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
コードクローンの動作を比較するためのコードクローン周辺コードの解析
「沖縄におけるスポーツサイエンスの拠点化に向けた
ソースコードの静的特性を用いた Javaプログラム間類似度測定ツールの試作
UMLモデルを対象とした リファクタリング候補検出の試み
Winter Workshop in Kanazawa -プロセスと方法論-
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
開発履歴データのリアルタイム収集・分析システムEPMの拡張について ~ SRGMを用いた予測グラフの実現および既存解析システムとの連携 ~
Javaソフトウェア部品検索システムSPARS-Jの実験的評価
背景 課題 目的 手法 作業 期待 成果 有限体積法による汎用CFDにおける 流体構造連成解析ソルバーの計算効率の検証
「地域経済産業活性化対策調査(沖縄市が整備するアリーナ施設を核としたまちづくり等に関する基礎調査)」
○ 後藤 祥1,吉田 則裕2 ,井岡 正和1 ,井上 克郎1 1大阪大学 2奈良先端科学技術大学院大学
ソフトウェア保守のための コードクローン情報検索ツール
コードクローン分類の詳細化に基づく 集約パターンの提案と評価
コーディングパターンの あいまい検索の提案と実装
資料2-2 平成26年度 第2回技術委員会資料 次年度検討テーマ案
複数のリポジトリを統合できる バージョン管理システムの提案と試作
地方公共団体オープンデータ推進ガイドラインの概要
第10章 機械設計の高度化 ★本講義の内容だけでは機械設計はできない? ★教科書や参考書の設計手順で設計ができるのか?
設計情報の再利用を目的とした UML図の自動推薦ツール
保守請負時を対象とした 労力見積のためのメトリクスの提案
クローン検出ツールを用いた ソフトウェアシステムの類似度調査
開発作業の形式化に基づく プロセス評価 松下誠 大阪大学.
資料3-2 平成26年度 第3回技術委員会資料 次年度テーマの検討
欠陥検出を目的とした類似コード検索法 吉田則裕,石尾隆,松下誠,井上克郎 大阪大学 大学院情報科学研究科
(別紙1) 提案書雛型 令和元年度 沖縄型テレワーク実装推進調査 ー提案書ー                        (日付)                        (企業名)                        (連絡先等)
コードクローン解析に基づく デザインパターン適用候補の検出手法
関数の変更履歴と呼び出し関係に 基づいた開発履歴理解支援システム
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
沖縄における希少作物の産地化及び観光資源化
Jh ISJ 柏崎礼生 (大阪大学) 耐災害性・耐障害性の自己検証機能を具備した広域分散プラットフォームの国際的展開とHPCI-JHPCNシステム資源との柔軟な連携 目的 広域に分散した研究組織が計算機資源を提供し合うことにより構築される広域分散プラットフォームを拡大するとともに、運用にかかる人的負荷を軽減する仕組みとスモールスタートでこのプラットフォームに参画できる仕組みを作る。
Presentation transcript:

EASEプロジェクトの現状と展望 JEITAソフトウェアエンジニアリング技術専門委員会 大阪大学 井上克郎

プロジェクトの概要

ソフトウェア開発の現状と問題点 ソフトウェアの信頼性 ソフトウェアの生産性 経験的なノウハウやアドホックな手法,ツールを使う場合が多い 多数のバグを含んだソフトの流通 一度ダウンすると多大な社会的損失 ソフトウェアの生産性 開発期間の短縮要請 人海戦術による限界 経験的なノウハウやアドホックな手法,ツールを使う場合が多い 個別要素技術研究の他に管理・統合技術研究が必要

科学的手法に基づくソフトウェア開発 多くの他の科学、工学分野では、計測して定量化・モデル化し、評価を行い、それをフィードバックして改善を行うのが普通(フィードバックループ) ソフトウェア開発の分野では? 30年に亘って,いろいろな技法,システム,ツールなどの提案がなされたが,その多くは消え去り,十分な評価も行われていない. 評価するために手間暇かかる →歴史で評価 (ICSE n-10)

EASEプロジェクトにおける エンピリカルソフトウェア工学 定量的なデータに基づいてソフトウェアの生産性や品質の向上を目指す諸技術 データの収集が必須 実際の開発現場のデータ オープンソース開発プロジェクトのデータ エンピリカルソフトウェア工学に関する雑誌、国際会議、研究会などができている

Journal by Kluwer Empirical Software Engineering

International Symposium on Empirical Software Engineering 第1回:2002年,日本(奈良) 第2回:2003年,イタリア(ローマ) 第3回:2004年,米国(ロサンジェルス) ・・・

ISERN (International Software Engineering Research Network) 米国,ドイツ,オーストラリア,日本をはじめとする世界12カ国の産学の研究者により1993年に創設 会員制の形態をとり,年一度の会合 ソフトウェアの開発・利用・管理を支援する技術について,理論面での議論と共に,技術の有用性を確かめる実証実験も行う

e-Society:基盤ソフトウェアの総合開発 15年度予算における科学技術振興費 35,916億円(前年度35,444):472億円増 ライフサイエンス、情報通信、環境、エネルギー、 ナノテクノロジー・材料、製造技術、社会基盤、 フロンティアの各分野 情報通信分野の施策 ユビキタスネットワークの研究開発(総) 25億 e-Society基盤ソフトウェアの総合開発(文) 12億→10億(16年度) 戦略的情報通信研究開発推進制度(総) 25億 超高速コンピュータ網形成(文)  20億 ビジネスグリッドコンピューティング(経) 07億

テーマ一覧 高い生産性を持つ高信頼ソフトウェア作成技術の開発(代表 片山卓也) 片山卓也(北陸先端大) 湯淺太一(京都大) 高い生産性を持つ高信頼ソフトウェア作成技術の開発(代表 片山卓也) 片山卓也(北陸先端大) 湯淺太一(京都大) 中島達夫(早稲田大) 高信頼組込みソフトウェア構築技術 石川裕(東京大) 次世代高性能コンピュータシステム上の高信頼ソフトウェアシステムの開発支援技術 米澤明憲(東京大) 大堀淳(北陸先端大) プログラム自動解析に基づく高信頼ソフトウェアシステムの構築技術 鳥居宏次(奈良先端大) 井上克郎(大阪大) 松本健一(奈良先端大) データ収集に基づくソフトウェア開発支援システム 武市正人(東京大) 高信頼構造化文書変換技術 阿草清滋(名古屋大) 鰺坂恒夫(和歌山大) 高信頼WebWareの生成技術 情報の高信頼蓄積・検索技術の開発(代表 村岡洋一) 喜連川優(東京大) 先進的なストレージ技術およびWeb解析技術 村岡洋一(早稲田大) インターネット上の知識集約を可能にするプラットフォーム構築技術 鹿野清宏(奈良先端大) 河原 達也(京都大)  猿渡 洋 (奈良先端大学) 武田 一哉 (名古屋大 ) 河原 英紀 (和歌山大学) ユーザ負担のない話者・環境適応性を実現する自然な音声対話処理技術

従来の研究プロジェクトとの違い 社会に役立つプロダクトを作り、産業を活性化するようなインパクトを与える 産学連携が必須事項 人材養成 研究プロジェクトとして、論文、特許も

「データ収集に基づくソフトウェア開発支援システム」 EASEプロジェクト エンピリカル環境の提案と構築 エンピリカル環境の配布・実プロジェクトへの適用 エンピリカルデータやその分析による知見の蓄積 適用先の組織の生産性、品質の向上 プロジェクトのホームページ: http://www.empirical.jp/

プロジェクトの推進方法: ラボ方式による技術移転 実データ    結果の検証 産業界 プロジェクト ラボ 大学 データ収集,フィードバック: 技術移転, 人材育成 ツールの開発,ツールの普及,データの蓄積 テーマの発掘,データの分析・評価,知見の整理・発表 フィードバック モデル、知見

プロジェクトの構成 中核大学 奈良先端大 大阪大 プロジェクト・ラボ 中核企業 -専任スタッフ NTTソフトウェア -大学兼任者 日立製作所 協力大学 -国内・国外大学 協力企業 -国内・国外企業 協力組織 -SEC  … 中核大学 奈良先端大 大阪大 中核企業 NTTソフトウェア 日立製作所 日立公共システム SRA プロジェクト・ラボ  -専任スタッフ  -大学兼任者  -企業出向者

エンピリカルSEラボ in千里 産官学の交流の拠点 エンピリカル環境の各種ツールの開発拠点 企業からの出向研究者 大阪・千里中央・千里ライフサイエンスセンター11階 大阪空港、新大阪駅までそれぞれ15分程度 奈良先端大東京オフィス(田町駅前)でも活動

国際アドバイザー Prof. Victor R. Basili (米国・メリーランド大学教授, フラウンホーファセンター・メリーランド センター長) Prof. Dr. Dieter H. Rombach (ドイツ・カイザースロータン大学教授、 フラウンホーファ実験的ソフトウェア工学研究所 所長) Prof. Barry W. Boehm (米国・サザンカリフォルニア大学教授) Prof. Ross Jeffery (オーストラリア・ニューサウスウェールズ大学教授)

エンピリカル環境

エンピリカルソフトウェア工学 目的に応じた定量的なデータに基づいてソフトウェアの生産性や信頼性向上を行う諸技術 科学的根拠に基づいてプロジェクトの改善を行うには必須

エンピリカルソフトウェア工学の 3つのフェーズ 収集 分析 改善

エンピリカルソフトウェア工学の規模による分類      本プロジェクトのターゲット 巨大 大 既存の技術 小

1~何万というプロジェクトを扱うことができるエンピリカルソフトウェア工学支援環境 本プロジェクトのターゲット 1~何万というプロジェクトを扱うことができるエンピリカルソフトウェア工学支援環境 エンピリカル環境

ターゲット選定理由 (実用化はまだまだだが)個人や組織を対象としたソフトウェア工学の技術は多数ある 多数のプロジェクトまでを対象としたソフトウェア工学技術(Mega Software Engineering)まだない 組織の利益に直結する結果が得やすい 基礎となる技術の種はいろいろある 計算機のパワーアップ、ネットワークの高速化によって、実現できそうな気配

本プロジェクトの目標 エンピリカル環境の構築 エンピリカル環境の配布・実プロジェクトへの適用 エンピリカルデータやその分析による知見の蓄積 適用先の組織の生産性、品質の向上

エンピリカル環境の概念 分析 収集 改善 組織内で情報のやりとり 外部に流す必要なし インターネット (パブリックドメインソフト、 ソフトウェア開発会社 関連会社 組織内で情報のやりとり 外部に流す必要なし インターネット (パブリックドメインソフト、 オープンソース開発データ) 収集 改善

エンピリカル環境の 実現

(1)収集に関する実現方針 目標を決めてから収集するデータを決める (理想的しかし組織によって目標は異なる) 目標を決めてから収集するデータを決める    (理想的しかし組織によって目標は異なる)   → 取れるデータ全てを取っておく (現実的アプローチ) プロダクトデータを中心に収集(プロセスデータはプロダクトデータから計算して得る) できるだけ簡単で、開発作業者の負担なく収集できる仕掛け 人為的な操作の少ない生データを収集 できるだけリアルタイムに収集 既存の開発環境と連携しつつ種々なプロジェクトに対応 小規模 XPなど非ウォーターフォールプロセス 分散開発(外部発注)

(2)分析に関する実現方針 段階的実現(簡単なものから順に) 困難 5. … 4.再利用部品・知識抽出検索 3.プロジェクト分類、発展解析 5. … 4.再利用部品・知識抽出検索 3.プロジェクト分類、発展解析 2.複数プロジェクトにまたがるメトリクス 容易 1.プロジェクト内のプロセス・プロダクトメトリクス

(3)改善に関する実現方針 目的に応じたフィードバック 様々な仕掛けが必要 当面は収集データおよび1,2の分析結果を視覚的に表示するブラウザ

Empirical Project Monitor EPM エンピリカル環境の一部として開発中 プロジェクトの制御に有益な作業情報を収集、分析、表示 データ収集源 構成管理ツールCVS メーリングリスト管理ツールMailman 障害管理ツールGNATS

標準エンピリカルSEデータ形式(XML) EPMのアーキテクチャ 分析Tool群 開発者 管理者 個別プロジェクト、プロジェクト間メトリクス計測 PostgreSQL(Repository) 標準エンピリカルSEデータ形式(XML) 開発者 管理者 CVS, Mailman, GNATS, (WinCVS, CorporateSource) その他: メトリックス予測 他ツールのデータ など 構成管理 履歴 メール 履歴 障害 履歴 既存の開発環境

EPMの特長 オープンソース開発に使われているツール利用 → 容易に導入可能 データ収集の負担 → 簡単な規約で可能 オープンソース開発に使われているツール利用  →  容易に導入可能 データ収集の負担   →  簡単な規約で可能 プロダクトデータ(例えば1日1回CVSに保存) 連絡はメールで、障害は管理ツールで記録を残す 他のツールから標準エンピリカルSEデータ形式への変換容易      →  他の開発環境との連携可能

EPMの適用対象 大規模プロジェクト 小規模プロジェクト 情報の共有がリアルタイムで可能 管理の負荷が低減 人為的なデータ操作が入りにくい 今まで手間等の問題で管理しにくかったプロジェクトにも適用しやすい いろいろなプロセス(XPなど)や組織をまたがる分散開発にも適用可能

Empirical Project Monitorの機能

EPMの分析ツール 個別分析 関連分析 ソースコード規模 障害解決時間 累積・未解決障害件数/平均障害滞留時間,ほか 更新/参照数 更新・障害報告/メール投稿数 更新と障害件数,ほか

個別分析(ソースコードの規模の推移) プロジェクトの進捗状況が把握できる 類似プロジェクトを参考に予実管理もある程度可能になる 詳細見積もりとスケジュールから予定作成も可能

ソースコード規模の推移(3ヶ月)

ソースコードの規模推移 オープンソース開発プロジェクトnkf

累積・未解決障害件数/平均障害滞留時間

関連分析(更新と障害件数) 障害件数の推移 CVSの更新時期を線で示し,バージョンごとの障害状況を確認できる

関連分析(更新・障害報告とメール投稿数) メール投稿数とCVSの更新時期、障害発生・解決時期の関連

CVS詳細情報 更新一覧 CVSの更新情報を一覧できる

メール詳細情報 トップメールトピックス一覧 議論の活発な話題を確認できる トピックはサブジェクトからML名、”Re:”を除いて作成

EPMの発展

分析や改善に関する機能拡張 より深い分析や解析を行い、組織の知識蓄積する より手軽に知識が取り出せて、有効利用されるようにする

. . . エンピリカル環境 EPM(開発中) Code clone detection Component search Metrics measurement Project categorization Cooperative filtering Product data archive (CVS format) Process data archive (XML format) Format Translator Format Translator Format Translator Format Translator Versioning (CVS) Mailing (Mailman) Issue tracking (GNATS) Other tool data Managers Project x Project y Corporate Source GUI Project z . . . Developers エンピリカル環境

拡張機能利用のシナリオ (1) プロジェクトXの進捗予定 実際のプロジェクトXの進捗 Xの類似プロジェクトを探す - プロジェクト分類技術 - 協調フィルタリング 2 X Y A Q T E W C V P

拡張機能利用のシナリオ(2) 同類の再利用率 Xの再利用率 ソフトウェアの再利用を促進させる - ソフトウェア部品検索エンジン 3 - コードクローン検出 - ソフトウェア部品検索エンジン 4 ソフトウェアの再利用を促進させる

期待される効果 社内的な再利用やオープンソースの利用でプログラムの生産性が劇的に上がった 管理しきれなかった膨大な社内資産が、見通しよく整理できた 過去の同類のプロジェクト情報を有効利用して、コスト管理が厳密になった 蓄積した欠陥情報を利用して、信頼性を大幅に改善された

分析技術(1) コードクローン検出: (ソースコード中に存在する類似したコード片) 分析技術(1)   コードクローン検出:   (ソースコード中に存在する類似したコード片)

分析技術(2) クローンに基づくソフトウェアシステムの類似度 分析技術(2)  クローンに基づくソフトウェアシステムの類似度

分析技術(3) 協調フィルタリングに基づく類似プロジェクトの発見とメトリクス予測 ? ソースコードA と「テスト済みソースコードB,C,D」 との間で類似度を計算する 「B,C,D のバグ数」と「類似度」から「Aのバグ数」を予測する. 言語 行数 複雑さ 実装者の スキル バグ数 Java 1000 非常に複雑 ( 9 ) 低い ( 4 ) ? 予測値 37 ソースコード A Java 1100 複雑 ( 7 ) 低い ( 3 ) 38 類似度:高(0.7) 類似度:高(0.8) 類似度:低(0.2) ソースコード B Java 700 非常に複雑 ( 9 ) 低い ( 4 ) 33 ソースコード C C++ 2000 普通 ( 5 ) 高い ( 7 ) 48 ソースコード D

分析技術(4) Javaプログラム検索エンジン

まとめ

まとめ EASEプロジェクトの概要 エンピリカル環境の概念の提案 エンピリカル環境の一部としてのEmpirical Project Monitor EPMの紹介 導入の壁が低い いろいろな環境に適応可能 EPMの拡張の方向性 より深い分析と知見の抽出 EPM エンピリカル環境

エンピリカル環境導入のメリット(1) まだプロジェクトの計測を行っていない場合 既存の開発環境と連携して手軽にプロジェクトのモニターができる プロジェクトの異常検出 過去や予想との比較 プロジェクトの蓄積が容易 どんなプロジェクトでも将来 に残せる

エンピリカル環境導入のメリット(2) すでに計測を行っている場合 全社的に統一的なデータをリアルタイムで揃えられるようになる 個人の目標と比べて 部署やプロジェクトの間の比較 他社と比べて、海外と比べてどうか? エンピリカルデータの統合により、情報の共有や再利用が(個人の経験や勘に頼らずに)自動的に行えるようになる 似たようなプロジェクト、似たようなソフトウェア開発での知見の発掘、重複作業の排除

プロジェクトの今後

スケジュール 現在 今月末 2月に一度の頻度で研究会開催中@田町 SECとの協力、役割分担 EPMα版、数社で適用中 分析ツール(SRGM)の追加 2月に一度の頻度で研究会開催中@田町 SECとの協力、役割分担 プロジェクトデータ収集(SEC) データの分析方法