情報処理学会60年のあゆみ
第3編―情報技術の発展と展望
[SE]ソフトウェア工学研究会

 

1. 最近10年間の動向

1977年に設立されたソフトウェア工学研究会は40年以上にわたり,ソフトウェアの開発技術・保守技術について,議論や情報共有を行う場を提供してきた.登録数と発表件数(定例研究会のみ)を表1に示す.ソフトウェアの開発および保守は産業界における実務と密接に関係しているため,産業界の会員が積極的に参加している点が特徴である.

表1 登録者数と発表件数

研究会活動としては,主に,年3回(2016年度までは4回)の定例研究会に加え,ソフトウェアエンジニアリングシンポジウムとウィンターワークショップを開催している.研究会は,2018年度3月で201回に達した.シンポジウムでは,論文発表のほかに,基調講演,招待講演,併設ワークショップ,ポスター発表を企画してきた.また,定例研究会と異なり,投稿論文の査読を行うことで,質の高い発表を維持している.ワークショップでは,ソフトウェア工学の各分野に造詣の深い討論リーダのもと,新しい研究テーマの立ち上げや研究テーマの展望について集中的に議論してきた.

これらに加えて,ソフトウェア工学研究会では,4つのワーキンググループを設置している(2019年3月現在).このなかで,2つのワーキンググループ「国際的研究活動活性化(2014年~)」,「ソフトウェアの評価(2017年~)」を,この10年間に新設した.また,卓越研究賞と功績賞も新設した.

国際化の推進にも注力してきた.その1つとして,日本で開催された6つの国際会議(主催:SPLC 2013,APRES 2016,ER 2016,APSEC 2018;協賛:SANER 2016,ICST 2017)の運営に協力した.

2. 研究分野の変遷

安心・安全な社会を支え,我々の生活を豊かにしてくれるソフトウェアをどのように作ればよいかという課題に挑戦しているのがソフトウェア工学であるという本質は変わらない.その一方で,この10年間で大きく変化したのは,ソフトウェアの在り方であろう.我々の生活がソフトウェアなしでは成り立たないことに加えて,デジタルトランスフォーメーションという概念のもとでは,ソフトウェアが企業の成否を分ける重要な役割を果たすようになってきている.

この結果,開発対象となるソフトウェアの範囲が急速に広がってきており,従来の開発方法論が単純に通用しない場面も多くなってきている.また,社会が求めるソフトウェアの変化は,ソフトウェアの作り方にも大きな影響を与えている.ここでは,対象の変化と作り方の変化という観点から,この10年間でのソフトウェア工学の研究分野の変遷を述べる.興味のある読者は,ぜひ文献1)も読んでほしい.

2.1 開発対象ソフトウェアの変化

まず思い付くのは,スマートフォンやIoTデバイス上で,多様な利用者にさまざまなサービスを提供するアプリケーションソフトウェアの飛躍的な増加であろう.多様な利用者の要求を満たすソフトウェアを開発するためには,完全性の高い要求定義よりも,利用者にとっての価値を見極めた要求定義が求められる.ソフトウェアテストにおいても,価値という観点,たとえばユーザ体験(UX:User experience)を意識した振舞いの検査が重要視されるようになってきた.また,利用者のセキュリティやプライバシに関する関心の高まりに合わせて,ソフトウェアへの安全性に関する研究も増加してきた.

オープンなシステムへの移行も大きな変化である.クラウド環境において,公開されているAPI(Application Programming Interface)を組み合わせて,新たなサービスを作り出すことは当たり前である.特に,オープンソースソフトウェアの台頭が,このようなソフトウェアエコシステムの拡大を加速させている.さらには,機械学習を組み込んだシステムは,学習データによりソフトウェアの振舞いが変化するという特徴を持つ.このようなソフトウェアに対しては,事前にすべての振舞いを決定および検査し,それを組み合わせてシステムを開発するというボトムアップ型のアプローチが通用しない.不確かさを内包するソフトウェアの設計,テスト,品質評価に対する課題に取り組む研究が近年さかんになってきている.

2.2 ソフトウェアの作り方の変化

ここ10年間で普及したアジャイルソフトウェア開発では,予算,納期,スコープといった特性をあらかじめ設定するのではなく,定期的に見直すことでソフトウェア開発に俊敏さ(agility)を採り入れている.定期的に開発を見直し,意思決定を行うためには,正確な開発データが必須である.開発データを分析し,実際の開発プロジェクトへの活用を試みる実証的研究がさかんに行われた.幸いなことに,オープンソースソフトウェアプロジェクトでは,ソースコードだけでなく,バグ情報やレビュー結果などの開発データも公開されている.さらには,インターネット上に存在する情報を群知識として積極的に活用することもできる.

人工知能に関する技術の発展にともない,それをソフトウェア開発や保守に積極的に活用する研究もさかんになっている.たとえば,開発データに深層学習を適用することで,ソフトウェア中に存在する不具合を予測したり,適切なソフトウェア開発作業を推薦したりする研究が登場した.また,近似解を求める探索アルゴリズムを適用することで,ソフトウェア開発を支援するSearch-based Software Engineering(SBSE)という考え方も浸透してきた.たとえば,進化計算に基づき,プログラムのソースコードを組み替えることでバグを自動修正する技術やテストケースを効率的に生成する技術の研究が登場した.

3. 今後の展望

ソフトウェアの利用領域の拡大,さらに利用形態の多様化は止まらない.ソフトウェアを利用している企業や個人の活動に関するデータを収集し,それをソフトウェア開発に積極的に活用するデータ駆動型の研究はますますさかんになるだろう.多様化への対応という観点では,開発対象のソフトウェアに特化した技術と特化しない汎用的な技術をどのように切り分けていくのか,それらをどのように融合していくのかが重要な課題である.

オープンなシステムのソフトウェアや機械学習型ソフトウェアへの対応は,ますます求められるだろう.このようなソフトウェアの価値や品質などを包括的に評価する仕組みや,ソフトウェアだけでなくその利用環境や利用形態まで扱うモデリング技法の研究などがさかんになると予想できる.ソフトウェアの信頼性を根本から見直す研究が登場するかもしれない.

ソフトウェア開発環境も急速に発展している.特に,実際の開発現場では,さまざまなフレームワークやライブラリが次々に登場し,次々に廃れている.このようなフレームワークやライブラリとどのように付き合っていくのかを追求する研究が求められるだろう.

(丸山勝久,鵜林尚靖,岸 知二)

[参考文献]

1)鵜林尚靖,丸山勝久,青山幹雄,野田夏子(編):ソフトウェア工学の最前線,情報処理,Vol.58, No.8, pp.670–707(2017).

« PrevNext »

 

目次に戻る

All Rights Reserved, Copyright (C) Information Processing Society of Japan