【seeds ソフトウェア工学・情報システム・IoT】ソフトウェア工学とは~最新の研究~
- 2018/4/25
- 大学のシーズ
電気通信大学 大学院情報理工学研究科 情報学専攻
田原康之准教授
- ソフトウェア工学とは?
近年、ソフトウェアは大規模化、複雑化が進んでいる一方で、有用性、利用容易性、性能、信頼性、およびセキュリティといった、さまざまな特性を実現し、低コストかつ迅速な開発が求められている。このような状況においては、従来のような技術者や組織の管理者の経験と勘に頼ったソフトウェア開発ではもはや対応は不可能に近くなっており、厳密な理論的基礎に基づいたソフトウェア開発技術の重要性が、ますます強く認識されてきている。ソフトウェア工学とは、このように科学的基礎から積み上げたソフトウェア開発技術の体系である。
- 研究テーマ
ソフトウェア工学は、非常に幅広い範囲をカバーする体系である。理論的基礎としては数学から、心理学や社会学のような人文・社会科学に至るまで、ソフトウェア開発過程としては要求獲得・定義から運用・保守に至るまで、また応用の対象としてはおよそコンピュータが使用されるあらゆる分野が考えられる。そのうち、以下のものを中心に研究を進めている。
(1) 形式手法
形式手法とは、理論的基礎として形式論理学とそれに関連する数学理論に基づくソフトウェア開発手法で、仕様記述言語で要求仕様や設計仕様を記述する形式仕様記述手法、および仕様記述の整合性や様々な性質の成否を確認する形式検証手法の2つの要素から構成される。特に、完全に自動的な形式検証手法であるモデル検査技術が近年注目されている。
しかし、形式手法の最大の問題の1つは、その背景理論としての形式論理学をはじめとする抽象数学の知識に精通している必要がある、という点である。多くの技術者にとって、このような抽象理論の習得は敷居が高く、まして実用的なソフトウェア開発においてその知識を活用するというのは現実的ではない。
そこで、抽象理論、および実際の開発に適用する際のノウハウの習得の労力を軽減する技術として、最も普及しているソフトウェアモデリング言語であるUML (Unified Modeling Language)で記述したものを検証対象とするモデル検査手法などの研究を進めている。
(2) 要求工学
ソフトウェアの大規模化・複雑化が進む背景には、ハードウェアの進歩とともに、市場のニーズの多様化・複雑化がある。しかも近年はそのようなニーズが急速に変化するため、ソフトウェアの方も変化に迅速に対応する必要がある。そこで、このように多様かつ複雑で急速に変化するニーズを体系的に整理・分析し、ソフトウェア製品に的確に反映するために、要求工学という技術分野が確立している。特に、要求項目を抽象レベルと論理的関係に従って整理・分析するゴール指向要求分析手法が近年注目されている。そこで、ゴール指向手法の実適用性向上を目指して研究を進めている。
(3) セキュリティへの応用
セキュリティは、今や情報化社会における最大の問題点の1つとして、広く認識されている。セキュリティ問題の原因には、人間系の問題や物理的なものもあるが、ソフトウェアの欠陥が大きな割合を占める。一般に、セキュリティに限らず、ソフトウェア欠陥への対策は、ソフトウェア工学の中心課題の1つであり、上述の形式手法や要求工学は一般的な対策手法として長く研究されている。そこで、これらの技術の応用分野として、特にセキュリティに注目している。
- おわりに
研究対象として、現在は特に重要な上述の技術や応用分野に注力しているが、もともとソフトウェア工学の扱う範囲は非常に広い。学術的、あるいは応用上価値の高い研究成果を上げるためには、必要以上に範囲を狭めることなく、視野を広く保って研究を進めてゆくことが重要であると考える。
最新の田原先生の研究です。こちらも是非ご覧ください。