ラボ紹介
デジタル社会を支える『ソフトウェアの仕組みや開発』に強い興味があると、とても有意義な研究活動を進めることができます。高い開発スキルを持つ必要はありませんが、開発スキルは世界に影響を与える研究を生み出すための強力な武器となります。また、統計等の基礎的な数学の素養があれば、ビッグデータ分析や人工知能の活用にとても役立ちます!
技術紹介
「ソフトウェア開発を支援するソフトウェア技術」を主軸に先端研究を推進してます。
- ソフトウェア開発を加速させるAI
ソフトウェア開発の高速化は年々進んでおり、その中心的な技術が人工知能(AI)を活用した開発工程の自動化です。特に、ソフトウェア品質を検証するコードレビュー作業では、膨大な人的コストを要するとされてきました。人工知能×ビッグデータ分析をフル活用して、これまで開発者が実施してきた工程を自動化して、ソフトウェア開発の更なる高速化を実現する研究に取り組んでおります。 - ソフトウェア動作の異常検知
質の高いソフトウェアをより短い期間でユーザーに提供するために、アジャイルやDevOpsなどの開発手法を採用するプロジェクトが増加しています。特に、多くのプロジェクトに共通して行われるプラクティスとして、継続的インテグレーション(CI)が存在します。CIでは、ソフトウェア変更のたびにテストを自動実行しています。本研究では、自動実行したテスト時のソフトウェア動作(どこの行が動作したか)を記録・蓄積し、変更後のソフトウェア動作が従来の動作と比較し、異常な動作でないかを自動で判断する取り組みを行っています。これにより、開発者がソフトウェアの変更をコミットした時点で異常な動作を検出し、ソフトウェアリリースの直前やリリース後に問題が発覚することを防ぎます。 - ソフトウェア開発プロセス分析
近年、ソフトウェア開発は大規模・複雑化の一途をたどっており、巨大なシステムの開発には数千人もの開発者、数十もの開発会社が関わることもあります。本研究室では、このようなソフトウェア開発プロジェクトから生まれるソースコードや開発履歴、開発者間のやり取りなど開発プロセスに関する多様で大規模なデータを相手に、統計解析や機械学習、自然言語処理などの技術を応用し、分析を試みています。分析結果は開発プロセスの改善や、ソフトウェアの品質保証に役立てています。 - スパコンの性能を限界まで引き出すソフトウェア
PC上では不可能な規模の計算を実現する高性能計算機(スーパコンピュータ)は、天気予報のように身近なところから、ビッグデータ解析や人工知能の研究開発に至るまで、幅広い領域において利活用されています。本研究室では、数値計算、システムソフトウェア、ハードウェア等、異なる階層の計算機技術を垂直的に統合し、高性能計算機の性能を最大限に引き出すことができるアプリケーションおよびミドルウェアを設計・開発しています。
共同研究実績
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他との共同研究多数