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.

NAIST ソフトウェア工学研究室紹介 2019

29 views

Published on

奈良先端大 ソフトウェア工学研究室の紹介資料です。

Published in: Software
  • Be the first to comment

  • Be the first to like this

NAIST ソフトウェア工学研究室紹介 2019

  1. 1. Copyright © 2019 Nara Institute of Science and Technology 2019年度 ソフトウェア工学研究室紹介
  2. 2. 2 ようこそ、ソフトウェア工学研究室へ! 博士後期課程:8名 (留学生4名) 博士前期課程:7名 (留学生3名) 准教授:石尾隆教授:松本健一 助教:畑秀明, Raula Gaikovina Kula 活動活動
  3. 3. 3 ソフトウェア工学とは ソフトウェア開発・利用の方法を考える学問分野です 高品質なソフトウェアを,早く,少ない労力で開発し, 社会がソフトウェアを活用できるようにすることが 研究分野としての目標です  ソフトウェアを効率よく作りたい  プログラムを適当に書いて終わりとしたい  急ぎすぎて、変なプログラムを書いて後でひどい目に合うのは避けたい  ソフトウェアのバグをなくしたい  テストをどんどんやってバグをつぶしていきたい  テストを続けていくとソフトウェアの提供が遅れてしまう
  4. 4. 4 ソフトウェアに対する社会の期待  従来の工業製品は時間が経過しても同じ機能を果たし続け ることが大事でした  頑健であること,安全であること  ソフトウェアは時間経過に伴って進化することが求められま す  利用者の変化: 新しい要望にあわせた新機能の追加  社会の変化: 法令の変化や社会的な責任の反映  技術の変化: 新しい技術の登場の取り込み
  5. 5. 5 ソフトウェア工学研究室のアプローチ  ソフトウェアに関連する多種・大量のデータを集め、  多様な情報処理技術を適用し、  ソフトウェア開発・管理・利用される様子を理解し、  そこから価値ある情報を引き出す、  一連のプロセスをツール化・サービス化すること で ソフトウェア開発者・利用者を支援します 現在はすごい人たちが頑張って作っているところを、 誰でも頑張らなくてもできるようにする、というのが1つのゴールです
  6. 6. 6 ソフトウェア開発のプロセスから見た研究分野  要求分析  設計  実装  既存ソフトウェアの再利用  単体テスト  実装の検証  レビューによる潜在的な問題の除去  統合テスト  設計との照合  受入テスト  要求との照合  配布、公開  ドキュメント執筆など ソフトウェア工学研究室は プロダクトの研究が主な範囲
  7. 7. 7 ミッション ソフトウェアが 開発・利用される様子を 工学的に解明し, 社会に役立てよう! つくる 育てるつかう 研究テーマ • ソースコード検索・推薦 • バグの影響評価 • ブロックチェーンによる 開発履歴の追跡 • プログラムのバグ予防 • プログラムの自動合成・添削 • 設計との一貫性検証 • 人的資本の可視化 • 開発者の活動計測 • 「暗黙のルール」の 可視化
  8. 8. 8 研究のカテゴリ: 提案系と調査系  提案系  何らかの問題を解決する新しい手法を作り、その有用性を評価する  方向性は2通り: 新規性重視、有用性重視  新規性重視の例: バグありコードからバグなしコードへの機械翻訳  有用性重視の例: バグ事例と類似したソースコードの超高速な検 出  企業と共同での評価に持ち込むことが多い  調査系  多くのプロジェクトでの現実的な開発のやり方を調査する  特定の開発手法の効果を調査する  オープンソースソフトウェアプロジェクトを対象とした調査が多い
  9. 9. 9 2018年度の修士論文 • ライブラリ検索技術の有効性評価 [調査系] • バグのあるライブラリの利用状況の検出 [提案系] • ブロックチェーンによる開発履歴の記録 [提案系] • ソースコード改善パターンの抽出 [提案系] • 「あとで直す」 コメントの発生原因分析 [調査系] • 作業の重複の早期検出可能性の分析 [調査系] • プログラミングで使われる文献引用の自動抽出[提案系] つくる 育てる つかう
  10. 10. 10 研究の目標設定 自分のやりたい研究を!  ソフトウェアに関することなら何でも  学生からの新しい研究テーマの提案も奨励しています 世の中で役立つ研究を!  「面白い,しかも役に立つ」 研究を目指しています
  11. 11. 11 研究に関係する技術、知識  プログラミング言語処理 (字句・構文・意味・動作の解析)  言語処理系・デバッガ等の解析ツール群を使って、取り出したデータの処理手順を考 えるのが主となる  ソフトウェアリポジトリ (ソースコードの収集)  Git、Subversion などの管理ソフトウェア、Web サービスの機能を活用する  ソフトウェアに関する品質等の指標  論文、書籍からの勉強で修得する  統計学  調査系の研究では必須  提案系でも性能評価などを正しく行う場合にはかなり重要となる  その他の道具  機械学習、ブロックチェーンなど個別技術
  12. 12. 12 データ収集&可視化の例 ソフトウェアのソースコードや実行を解析する専用ツールを自分たちで構築し使用する アプリ実行のリアルタイムモニタリング バージョン違いのソフトウェア部品の出現時期・個数・類似度 プロジェクト間の ファイル再利用関係 プログラムを読む開発者の脳活 動
  13. 13. 13 共同研究等で関連する企業・団体 2018年度以前から継続中の活動  NTTデータ  富士通研究所  NEC  日本有人宇宙システム  Eclipse プロジェクト 産業界、オープンソースソフトウェア開発コミュニティとの関わり を模索しています
  14. 14. 14 日々の活動  週1 全体ミーティング (10分~1時間程度)  ニュース、困ったこと、相談事などを伝える  日本語・英語は併用で、どちらでもよい  喋るのが苦手な人はチャットツールや他の人を頼っても良いので、伝える必 要があることはきちんと伝える  論文輪講 (週2時限)  1人30分~45分程度の論文紹介を、1回あたり2人  週1回程度 指導教員との研究ミーティング  実施ペースは人および作業状況による  作業が多い時期は、方針を決める打ち合わせ週1回ぐらいが多い  論文執筆中は短時間のやり取りを頻繁にやることが多い  個別の事情に関しては応相談
  15. 15. 15 その他の教育活動  プログラミング言語解析の基礎演習  プログラムのコピーを検出する技術など、(やり方を知っていれば) 簡単な技術を 作ってみる・使ってみる機会  英語論文の書き方演習  英語を専門とする寺本先生(アデレード大学)に、英語に関する素朴な疑問をぶ つける機会  2019年度は PBL として他研究室の学生へも提供  学生の国内派遣  岡山大学、和歌山大学、九州大学などへの1か月程度の滞在研究  大阪大学ソフトウェア工学研究室の学生との研究交流  学生の国外派遣  希望者のみ、通常は5週間程度
  16. 16. 16 国際的研究ネットワーク Daniel M. German (University of Victoria) Graham Neubig (Carnegie Mellon University) Bram Adams (Ecole Polytechnique de Montreal) Ahmed E. Hassan (Queen’s University) Marco Aurelio Gerosa (University of Sao Paulo) Mingyu Guo Christoph Treude (University of Adelaide) Jacky Keung (City University of Hong Kong) Shane Macintosh (McGill University) Emad Shihab (Concordia University) Putchong Uthayopas (Kasetsart University) Meiyappan Nagappan (University of Waterloo) Michele Lanza (University of Lugano) Coen De Roover (Vrije Universiteit Brussel) Ali Ouni (ETS Montreal)
  17. 17. 17 卒業生の進路 ソフトウェアに関わる様々な 場所で活躍しています!  企業  Microsoft,NTTデータ,NEC,日立製作所,トヨタ,楽天  富士通研究所,Yahoo,ソニー,オムロン,TIS,ローム  NTTコミュニケーション,伊藤忠テクノソリューソンズ  パナソニック,freee,ゲームフリーク,コナミ ほか  大学  神戸大学  Queens University  九州大学  奈良先端大 ほか
  18. 18. ソフトウェア開発の方法を考え る プログラムを 自動で清書する プログラマの 能力を測る プログラムの コピーを追跡する つくりかたを 共有する

×