ソフトウェア設計学研究室

デザインセンスの工学的追求~システムの造りに意図を込め、システムの造りにその意図を汲む

教員

  • 飯田 元

    教授:飯田 元

  • 市川 昊平

    准教授:市川 昊平

  • 柏 祐太郎

    助教:柏 祐太郎

客員准教授:高井 利憲
客員准教授:田中 康
客員助教:高橋 慧智
客員助教:平尾 俊貴
E-mail sdlab-contact@is.naist.jp
研究室のサイト https://sdlab.naist.jp/

研究を始めるのに必要な知識・能力

デジタル社会を支える『ソフトウェアの仕組みや開発』に強い興味があると、とても有意義な研究活動を進めることができます。高い開発スキルを持つ必要はありませんが、開発スキルは世界に影響を与える研究を生み出すための強力な武器となります。また、統計等の基礎的な数学の素養があれば、ビッグデータ分析や人工知能の活用にとても役立ちます!

研究室の指導方針

学生が興味のある研究を尊重する『主体性を重視した指導体制』を構築しています。本研究室へ入学後は、各学生が興味を持つ分野を探求することに、複数の教員が時間をかけて一緒に決定します。ソフトウェア開発、AI・ビッグデータ分析、クラウドの観点から各学生の潜在的な興味と技術的な強みを引き出して、新規性の高い研究計画を計画します。
 海外との共同研究も盛んで、必要に応じて海外や国内研究機関へ短期インターンシップとして派遣し、自身の研究成果をより良いものにできます。研究成果に関しては積極的な対外発表を推奨し、国内研究会・国際会議・論文誌等での成果発表を積極的に目指します!

この研究で身につく能力

① ソフトウェア開発における「センスの良さ」
 ソフトウェア開発で重要なプロセス(設計、実装、品質テスト、保守運用)やクラウド等のインフラ技術に対して、より効率良く・効果的な手法を導き出すノウハウとスキルを習得します。大手企業や世界のソフトウェア開発企業が採用するメソッドを学び、最先端の技術センスを身に付けます。
② 最先端トレンド技術の習得
 次世代社会を支える最先端技術(AI、ビッグデータ、クラウド、IoTなど)に加え、形式言語理論やオートマトン、プロセス代数、グラフ理論など関連する基礎分野も習得し、実社会で活用できる実践力を鍛えます。
③ 世界へ挑戦するグローバルコミュニケーション能力
 国内や海外への積極的な研究活動に挑戦することができ、グローバルな環境で活躍したい人にはピッタリの研究室です。

修了生の活躍の場

卒業生はソフトウェアに関わる企業・大学で活躍しています
- ソフトウェア開発:富士通、Sony、NEC、日立製作所、東芝など
- 情報通信:NTT、ドコモなど
- 航空宇宙:IHI、有人宇宙システム、
- コンサルタント:PwC、アクセンチュア
- Web系:サイバーエージェント、Yahoo、楽天、サイボウズ、freee、 MoneyForward、ピクシブ
- 大学・高専:奈良先端大、金沢大学、同志社大学、豊田高専、カセサート大学、メルボルン大学
- 起業

研究内容

ソフトウェア設計学研究室では、ソフトウェアやクラウドシステムの開発・設計を支援する技術について研究を行っています。特に、ソフトウェアの開発工程、すなわちソフトウェアプロセスの分析や改善、クラウドなどのインフラシステムを制御するソフトウェア技術を主題に据えています。

ソフトウェア開発を支援するソフトウェア技術

ソフトウェア開発を加速させるAI

ソフトウェア開発の高速化は年々進んでおり、その中心的な技術が人工知能(AI)を活用した開発工程の自動化です。特に、ソフトウェア品質を検証するコードレビュー作業では、膨大な人的コストを要するとされてきました。人工知能×ビッグデータ分析をフル活用して、これまで開発者が実施してきた工程を自動化して、ソフトウェア開発の更なる高速化を実現する研究に取り組んでおります。

ソフトウェア動作の異常検知

質の高いソフトウェアをより短い期間でユーザーに提供するために、アジャイルやDevOpsなどの開発手法を採用するプロジェクトが増加しています。特に、多くのプロジェクトに共通して行われるプラクティスとして、継続的インテグレーション(CI)が存在します。CIでは、ソフトウェア変更のたびにテストを自動実行しています。本研究では、自動実行したテスト時のソフトウェア動作(どこの行が動作したか)を記録・蓄積し、変更後のソフトウェア動作が従来の動作と比較し、異常な動作でないかを自動で判断する取り組みを行っています。これにより、開発者がソフトウェアの変更をコミットした時点で異常な動作を検出し、ソフトウェアリリースの直前やリリース後に問題が発覚することを防ぎます。

ソフトウェア開発プロセス分析

OSSのソーシャルネットワーク解析ツール

OSSのソーシャルネットワーク解析ツール

近年、ソフトウェア開発は大規模・複雑化の一途をたどっており、巨大なシステムの開発には数千人もの開発者、数十もの開発会社が関わることもあります。本研究室では、このようなソフトウェア開発プロジェクトから生まれるソースコードや開発履歴、開発者間のやり取りなど開発プロセスに関する多様で大規模なデータを相手に、統計解析や機械学習、自然言語処理などの技術を応用し、分析を試みています。分析結果は開発プロセスの改善や、ソフトウェアの品質保証に役立てています。

計算機サービス全体のソフトウェア化技術

クラウドを支えるソフトウェア技術

OpenFlow による国際仮想ネットワークテストベッド

OpenFlow による国際仮想ネットワークテストベッド

近年のクラウドの飛躍的な普及の背景には、ソフトウェア技術により計算機資源を仮想化することで、計算機環境の構築・配備を動的かつ自動的に実行できるようになってきたことがあります。本研究室では計算機資源をソフトウェアでもって制御する技術の研究を進めています。特に、ネットワークのソフトウェア制御技術であるSoftware Defined Networking (SDN) 技術を中心に、クラウドゲーミング、ビッグデータ解析、機械学習、 IoTなど、クラウドを支えるためのソフトウェア技術を広くかつ深く追求しています。

スパコンの性能を限界まで引き出すソフトウェア

PC上では不可能な規模の計算を実現する高性能計算機(スーパコンピュータ)は、天気予報のように身近なところから、ビッグデータ解析や人工知能の研究開発に至るまで、幅広い領域において利活用されています。本研究室では、数値計算、システムソフトウェア、ハードウェア等、異なる階層の計算機技術を垂直的に統合し、高性能計算機の性能を最大限に引き出すことができるアプリケーションおよびミドルウェアを設計・開発しています。

研究設備

実効容量90TBの超高速高信頼ネットワークストレージと、合計160コアを有するブレードサーバ群を仮想化プラットフォームにより統合したソフトウェア解析およびクラウドコンピューティング研究のためのプライベートクラウドシステム。共同研究の下、2020年2月現在、日本最速のスーパコンピュータABCIおよび世界最速のスーパコンピュータSummitを利用。

研究業績・共同研究・社会活動・外部資金など

  • GEIOT(「モノのインターネット」分野でのグローバルアントレプレナー育成プログラム)
  • crossXcross(クロス・バイ・クロス)(多面的クロスオーバー PBL型のアントレプレナー育成プログラム
  • enPiT2、enPiT-Pro(成長分野を支える情報技術人材の育成拠点の形成)
  • PRAGMA-ENT(大規模国際SDNテストベッドの構築)
  • 産業技術総合研究所
  • 宇宙航空研究開発機構(JAXA)
  • 国立情報学研究所
  • 大阪大学、University of California San Diego、Kasetsart University、Queen's University、University of Victoria、Oak Ridge National Laboratory他との共同研究多数