~広報誌「せんたん」から~

松本健一教授、門田暁人准教授

トレーサビリティが課題

コンピュータのソフトウェアは、高度情報社会を支えるインフラとして、産業の生産効率を高め、 生活の便利さや安全・安心を推進する役割を担っている。それだけに、一旦、システム障害が起きると、 金融機関のATM のトラブルなど身近な場面でも大きな影響が出てしまう。

多様なソフトが使われ、複雑で膨大なデータの処理が急増する中、新たなソフトの開発から実際に 利用するまでの間にどのようにして信頼性を獲得するか。それを支援する理論の構築や技術開発が ソフトウェア工学研究室の主要なテーマだ。

ソフト開発の大まかな手順は、まず、新たなアイデアを思いつくと、具体的にどのような機能を 盛り込むべきかを分析し、設計する。次いで、その仕様に基づき、分担してプログラムを作るが、 その途中でねらい通り動くかを確かめるレビューやテストを繰り返す。この後、完成したソフトを 実際に使用したり、要求に応じて機能を追加、変更したりするときもテストする。

「ソフトウェア研究の評価は、新しいアイデアがあるか、その性能を裏付ける実証的なデータがあるか、 そこに学ぶべきところ(役に立つもの)があるか、の3つがポイントです。その中で難しいのが、 実証的なデータ(証拠)に基づいて議論する段階。ソフト開発は、ハード(コンピュータ本体)のように 物理現象を扱うのではなく、すべて人間の活動による作業なので、決められた通りに行われていることを 確認する必要があります。ソフトが正しく作られていることの証拠になりえる事実をどのように設定して 集めるか、非常に苦労します」と松本教授は説明する。

そこで、大きな課題になってきたのが、ソフトのトレーサビリティ(追跡可能性)だ。どのように作られて きたかがわかるように、ソフトの仕様書や変更履歴、テストや障害発生の記録などを互いに関連付け、 参照して確認できるようにしておく。松本教授は文部科学省「次世代IT基盤構築のための研究開発」のなかで 「ソフトウェア構築状況の可視化(見える化)技術の開発普及」領域の代表を務め、履歴を追跡できるように 実証データをソフト製品に添付する「ソフトウェアタグ」の研究に取り組んでいる。

コストを予測、削減する

松本教授、門田准教授らの研究は幅広い。 最近の企業との共同研究では、ソフトウェア 開発状況のデータから、開発終了までに必要 な人数と時間などを予測する技術の開発があ る。たとえば、どれだけの時間、ソフトのど の部分を重点的に調べれば、テストのコスト 削減とともに製品の信頼性の向上が図れるか を明らかにする。「ソフトはいろいろな機能 の集まりなので、一般的に8割のバグが2割 の場所に集中しているといわれます。仕様が 固まっていなかったり、複雑なロジックが使 われていたり、何度も変更があったり、複数 の開発者が担当して作業に一貫性がみられな いなどの低品質につながる部分を見つけて重 点的にテストします」と門田准教授。ソフト を開発している企業から、作業中の変更の回 数、過去のソフト開発のバグの発生頻度など の情報を提供された研究では、機械学習を用 いた手法により予測の精度を上げることができた。

また、開発者の作業内容を自動的に計測し て日報のように記録するソフト「TaskPit」も 作成した。データ分析やメールの閲覧などそ れぞれの作業にどれくらいの時間を費やして いたか、日ごとに棒グラフなどに図示して一 目でわかる。開発者にとっては、時間の無駄 使いを反省し、有効に使うという自己分析の ツールになる。ホームページに公開したとこ ろ、企業から予想外の反響があった。「この ツールが普及し、独自に修正を加えて使うと いう形で研究者と実務者のコミュニティがで きればいいのですが」と松本教授は期待する。

  • ソフトウェア開発タスク計測システムTaskPit
    ソフトウェア開発タスク計測システムTaskPit
  • ソフトウェア構築状況の可視化
    ソフトウェア構築状況の可視化

広がる人的ネットワーク

研究の人的ネットワークを広げようと、昨 年、「ソフトウェア情報学研究会」が結成さ れた。国内の大学や企業の研究者など多方面 で活躍している同研究室の卒業生を中心に連 絡を取り合って情報交換し、年2回の研究会 や国際的な研究集会を開く。松本教授は「本 学の卒業生には優秀な人材が多く、本学で築 いた連帯感をきずなに共同研究などを展開し ていきたい」という。

海外との交流も盛んに行われている。留学 生の受け入れでは2年前からインターンシッ プ制度を導入した。タイの大学の3年生を招 き、春休みの約9週間、研究室で演習してい る。日本の大学の実情を知り、意欲を高めて もらうのがねらいだが、演習の内容は、国際 学会で発表するほどのレベル。翌年の卒業時 には、選抜されて正式に博士前期課程に入学 することになる。

この制度を経て留学しているパサコーン・ ファナチッタさんは、設計図(ソースコード) が公開されて、独自に改良できるオープンソ ースソフトウェアの開発支援の研究を行って いる。「インターンの間にも研究ができまし たが、研究設備や指導など環境が非常に良い という印象でした。博士後期課程まで進んで、 いずれは大学の教授になりたい」と夢を膨ら ませる。

絶えず考え続けることが大切

学生たちと研究室で

このように研究テーマや体制が拡充される なかで、研究陣の高品質のソフトづくりへの 意欲は高まっている。 松本教授がコンピュータに興味を持ったの はインベーダーゲームなどが流行した時代で、 その仕組みに強くひかれたのがきっかけ。大 学に入り本格的にソフト研究に取り組んでき た。「研究の対象がソフトという知的活動の 産物なので、データに対しても通り一遍に分 析するのではなく、あきらめないで時間をか けて見て、何か閃いたり、発想したりできる と楽しいですね。とにかく、何か役立つもの はないかと絶えず考えていることが大切で す」と強調する。

門田准教授は、小学校高学年からのパソコ ン少年でゲームソフトを作り雑誌に投稿して いた。大学に入ってからは、クラシック音楽 が趣味ということもあり、本格的な作曲ソフ トも作製、公開していた。「大学院では、実 際のソフト開発の現場で役に立つ研究が第一。 その一方で,他の研究者のインパクトになる ような引用されやすい研究が必要で、他の人 が行っていないテーマを手掛けるようにして います」と語る。

若手研究者も張り切っている。博士後期課 程3年の伊原彰紀さんは、オープンソースの ソフト開発のさいに、利用者にも開発者にも 不具合の修復の予測時間などを伝えて、作業 を支援する方法の研究が最終段階に入ってい る。「オランダ、カナダなど海外で学会発表 や研究をさせてもらい、日本とは違った研究 方法や発想を学べたことが楽しかった」と振 り返る。

博士前期課程2年の西薗和希さんは、ソフ トの大本のプログラムであるソースコードの バグを早く見つける方法の研究だ。「ソフト ウェアエンジニアになりたくて、学部でのプ ログラムを書く研究以外に、この研究室でソ フトの品質管理などについても学びたかった。タイでの一か月間の研究などさまざまな機会 が与えられたのがよかった」と話す。同学年 の田中智也さんは、オープンソースソフトウ ェアの流用を判別する手法がテーマで、ソフ トを圧縮しファイルサイズを比較するなどの 方法で、ソフトウェアのライセンス違反を見 つける技術ができつつある。「大学院に入っ てテーマが変わりましたが、研究室のテーマ が多岐にわたっているので、伸び伸びとした 環境でテーマを掘り下げることができるのが すごく魅力的です」という。博士前期課程1 年の中野大輔さんのテーマはソフトウェアの 不具合の自動予測で成果が出つつある。「ど んなテーマでも、無理といわれることはなく、 基本的に先生が全力でバックアップしてくれ ます」と意欲を見せている。