ソフトウェア工学研究室

ソフトウェアは成長する、あなたとともに

教員

  • 教授:松本 健一

    教授:
    松本 健一

  • 准教授:石尾 隆

    准教授:
    石尾 隆

  • 助教:畑 秀明

    助教:
    畑 秀明

  • 助教:Raula G. Kula

    助教:
    Raula G. Kula

E-mail { matumoto, ishio, hata, raula-k }[at] is.naist.jp

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

研究内容がプログラミングと密接に関係するため、プログラミング経験があると研究をスムーズに進めることができます。また、ベクトルや集合、グラフといった数学の基礎的な概念を知っていると役立ちます。

研究室の指導方針

既存の理論・手法に学生の好奇心や柔軟な思考をうまく組み合わせていくことで、これまでにないブレークスルーが実現すると考えています。研究テーマの設定においては、これまでの研究の取り組みや現在の課題を幅広く教員から提示したうえで、学生の希望や興味、アイディアをもとに相談して決定しています。
研究室として、学生が相互にコミュニケーションをとることを奨励しています。留学生まで含めると学生の出身は多岐にわたるので、日本語と英語を組み合わせて、自分の失敗を恐れず、相手に対しては寛容に、対話してもらいたいと考えています。

この研究で身につく能力

ソフトウェア開発・利用に関する専門家として、複数の開発者が協力して活動するための方法論やツール、ソフトウェア品質の評価方法といった知識を身につけることができます。また、ソフトウェア開発に関する最新動向についての議論を通じて、多様な開発プロセスや開発環境、プログラミング言語それぞれの意義についての実践的な知識を得ることができます。
研究活動では、論文や技術文書に書かれた内容の細部を厳密に解釈し、自分の研究と関連付けて考えることによって、技術の特性や意義を適切に読み解く能力が身につきます。また、論文の執筆や研究発表を通して、聴衆に合わせて適切に、日本語と英語を用いて、技術を説明する能力を身につけることになります。

修了生の活躍の場

 ソフトウェアベンダー、電機メーカー、製造業などで製品開発、研究、教育に携わっています。

研究内容

ソフトウェア工学研究室では、ソフトウェアが持つ脆弱性の克服とソフトウェア開発・利用における新たな基盤技術の確立をめざし、ソフトウェア製品・サービスの開発および利用に関わる理論、方法論、モデル、環境・ツール、ベンチマーキング、技術移転などの研究開発に取り組んでいます。研究対象は、ソースコードをはじめとするドキュメントだけでなく、テストやデバッグなどの作業、更には、ソフトウェアの開発や利用に携わる個人・コミュニティ間でのコミュニケーションに関するビッグデータです。データ解析には、機械学習、自然言語処理、ゲーム理論、社会学、神経科学といった多様な技術を用い、これまでにない斬新な技術を実現しています。

ソフトウェア開発・利用活動の分析

ソフトウェアの基本部品となるソースコードを公開し共有することで信頼性を保つ「オープンソースソフトウェア」が、ソフトウェア開発・利用の大きな潮流となっています。このような状況を踏まえて、ソースコードの品質や開発プロジェクトの継続性等を左右する要因を、オープンソースソフトウェアを対象として詳細に分析しています。また、競技プログラミングやレガシーソフトウェアなどより多様なソフトウェアを対象として、プログラミングの学習方法、特に、初心者と熟練者の差異の明確化、プログラム理解プロセスの解明等にも取り組んでいます。

分析に基づくソフトウェア開発・利用支援

ソフトウェアの開発・利用活動を分析した結果にもとづいて、ソフトウェア開発者・利用者の役に立つ技術を実現します。たとえば、ソフトウェアやライブラリの最適な組み合わせの推薦、ソースコードに含まれる記述誤りや記述の暗黙ルールの自動検出・可視化、ソフトウェア性能(利用時の実行速度)の低下要因の顕在化等に取り組み、その有効性を確認する実証実験を行っています。

ソフトウェア工学における研究対象

ソフトウェア工学における研究対象

既存ソフトウェア群で使用されている類似ソフトウェア部品の検索

既存ソフトウェア群で使用されている類似ソフトウェア部品の検索

研究設備

ソフトウェア工学研究室は、研究室特有の設備に相当するものとして、ソフトウェア工学に携わる実務家・研究者との国際的な対話のネットワークを構築し、研究活動の基盤としています。

研究ネットワーク

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

  • 伊原彰紀, 大平雅雄:オープンソースソフトウェア工学. コンピュータソフトウェア, Vol.33, No.1, pp.28-40, 2016.
  • Tomomi Hatano, Takashi Ishio, Joji Okada, Yuji Sakata, and Katsuro Inoue:Dependency-Based Extraction of Conditional Statements for Understanding Business Rules(企業ソフトウェアからの業務に関係する条件文の抽出). IEICE Transactions on Information and Systems, Vol.E99-D, No.4, pp.1117-1126, 2016.
  • Raula Gaikovina Kula, Daniel M. German, Ali Ouni, Takashi Ishio, and Katsuro
    Inoue: Do Developers Update Their Library Dependencies?(ソフトウェア開発者はライブラリ依存関係を更新しているか?).Empirical Software Engineering, 2017.
  • Saya Onoue, Hideaki Hata, Akito Monden, and Kenichi Matsumoto:Investigating and Projecting Population Structures in Open Source Software Projects: A Case Study of Projects in Github (オープンソースソフトウェアプロジェクトにおける人口構造の調査).IEICE Transactions on Information and Systems, Vol.E99-D, No.5, pp.1304-1315, 2016.

富士通研究所、NTTデータを中心に、様々なソフトウェア開発に関連した企業と連携し、共同研究、実証実験を行っています。

-->