本研究室では、ソフトウェア工学分野において、設計や実装に関わる基礎技術を研究対象とし、ソフトウェアの作成や保守をより簡単かつ迅速(理想的には自動的に)行うための理論、原理、手法、技術の探求を行っています。

ソフトウェア統合開発環境の高度化

ソフトウェア開発支援ツールを迅速、容易、低コストで構築可能とする環境を提供するXML技術を用いた次世代ツールプラットフォームの構築に取り組んでいます。また、このプラットフォームを用いてさまざまなソフトウェア開発ツールを実現し、公開しています。

Keywords: IDE(integrated development environment), Extensible tool platform, Eclipse, XML

ソフトウェア改善(リファクタリング)支援

リファクタリング(refactoring)とは、ソフトウェアの外部から見た挙動(振る舞い)を変えることなしに、内部構造だけを再構成する作業のことをいいます。リファクタリングの自動化、リファクタリングの検出、安全性を考慮したリファクタリングなどの研究を通して、既存のソフトウェアを簡単/安全に改良する手法の確立やツールの構築に取り組んでいます。

Keywords: Software maintenance, Software quality characteristics, Software security, Security patterns, Information flow

ソフトウェア理解支援

ソフトウェアの開発履歴を解析することで、ソフトウェア変化や進化を把握する手法の確立やツールの構築に取り組んでいます。また、ソースコードから情報を抽出し、その構造や振る舞いを視覚化することで、ソフトウェアがどのような機能を持つのかを推測する手法の確立やツールの構築を目指しています。

Keywords: Program understanding/comprehension, Software visualization, Design recovery, Concurrent versions system(CVS), Software configuration management

Web時代のソフトウェア開発環境

近年、さまざまな場面でWeb技術が人間の知的作業を支援しています。ソフトウェア開発が人間の知的作業である以上、Web技術がソフトウェア開発支援にも大きく貢献する可能性は高いと考え、Web技術を積極的に活用した(Web2.0に触発された)ソフトウェア開発環境(開発支援ツールや開発方法論)に焦点を当て、IDE機能のWebサービス化(IDE on Web)とannotationを活用したソースコードの高度化、ソースコードを中心としたコミュニティ形成の研究に取り組んでいます。また、ソフトウェアの統合開発環境とWeb技術を連携させた、プログラミング教育支援環境の構築にも取り組んでいます。

Keywords: Annotated source code, Web services, Web2.0, Forksonomy, Tagging, Cloud computing

ソフトウェアのユーザビリティ(使用性)検査支援

Webアプリケーションをはじめとするソフトウェアの使用性を測定する評価手法、使用性に関する問題箇所の検出手法などの確立に取り組んでいます。

Keywords: Software usability, Non-functional requirements, Software testing, Execution profiling, Web design patterns, Design models(UML)

プログラミング支援

オブジェクト指向プログラミングをはじめとし、アスペクト指向プログラミング、スクリプト言語プログラミング、関数型プログラミングなど、さまざまなプログラミングを支援するツールの構築に取り組んでいます。

Keywords: OOP(object-oriented programming), AOP(aspect-oriented programming), Light-weight language, Script language, Functional programming, Agile development

Top of Page

ソフトウェア工学とは、コンピュータソフトウェアを対象として、その開発、運用、保守における生産性と品質の向上を実現するための技術体系や学問体系のことを指します。