ラボ紹介
ソフトウェア工学研究室では、ソフトウェアが持つ脆弱性の克服とソフトウェア開発・利用における新たな基盤技術の確立をめざし、ソフトウェア製品・サービスの開発および利用に関わる理論、方法論、モデル、環境・ツール、ベンチマーキング、技術移転などの研究開発に取り組んでいます。研究対象は、ソースコードをはじめとするドキュメントだけでなく、テストやデバッグなどの作業、更には、ソフトウェアの開発や利用に携わる個人・コミュニティ間でのコミュニケーションに関するビッグデータです。データ解析には、機械学習、自然言語処理、ゲーム理論、社会学、神経科学といった多様な技術を用い、これまでにない斬新な技術を実現しています。
技術紹介
- ソフトウェア開発・利用活動の分析
ソフトウェアの基本部品となるソースコードを公開し共有することで信頼性を保つ「オープンソースソフトウェア」が、ソフトウェア開発・利用の大きな潮流となっています。このような状況を踏まえて、ソースコードの品質や開発プロジェクトの継続性等を左右する要因を、オープンソースソフトウェアを対象として詳細に分析しています。また、競技プログラミングやレガシーソフトウェアなどより多様なソフトウェアを対象として、プログラミングの学習方法、特に、初心者と熟練者の差異の明確化、プログラム理解プロセスの解明等にも取り組んでいます。 - 分析に基づくソフトウェア開発・利用支援
ソフトウェアの開発・利用活動を分析した結果にもとづいて、ソフトウェア開発者・利用者の役に立つ技術を実現します。たとえば、ソフトウェアやライブラリの最適な組み合わせの推薦、ソースコードに含まれる記述誤りや記述の暗黙ルールの自動検出・可視化、ソフトウェア性能(利用時の実行速度)の低下要因の顕在化等に取り組み、その有効性を確認する実証実験を行っています。
共同研究実績
ソフトウェア工学研究室は、オープンソースソフトウェアの生態系と呼ばれる活動状況を記録、分析するための計算サーバを保有し、研究に使用しています。また、ソフトウェア工学技術の実社会への応用として、遠隔授業システム「C2Room」を、奈良先端大発ベンチャー企業である株式会社 dTosh と共同開発しています。 これらのシステムに加えて、ソフトウェア工学に携わる実務家・研究者との国際的な対話のネットワークを構築し、研究活動の基盤としています。