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

[2014年9月号]
情報科学研究科 ソフトウェア設計学研究室 飯田元教授、市川昊平准教授

飯田元教授、市川昊平准教授

人間の創造性を支援する技術

仕事や家庭生活のあらゆる場面でコン ピューターを動かすソフトウェアの技術は欠 かせない。最近では、インターネットでコン ピューターをつなぐクラウドというシステム が急速に進化していて、社会インフラの構築 に主要な役割を果たしている。

 このように、多様で膨大な数のソフトウェ アを駆使するコンピューター社会では、ソフ トの欠陥や不具合が、データの消失や漏えい など大きなトラブルにつながることがある。 そのため、システムづくりの初期の段階から 良質なソフトを安定して生産し続ける必要が あり、そのプロセス(開発工程)は万全に遂 行されなければならない。

飯田教授は「ソフトウェアやクラウドコン ピューティングシステムの開発、設計を行う 人間の創造性を支援する技術の研究を行って います。とくに開発工程の分析や改善が主な テーマです」と説明する。その中で重視して いる課題が、ソフト作りに欠かせない「モデ ル化技術」。世の中の事象を一定の有用な視点 に基づいてとらえて概念を整理し、抽象化し て開発の方針を立てる技術で、優れた設計モ デルが備える「センスの良さ」に深く関わる。 そこで、その本質を探求するとともに、その ようなモデル化の能力を備えた人材の養成が 主要なミッション、と強調する。

問題点を表示

「クローンヒートマップ表示ツールCC Parser」
CC Parser は、コードクローンの存在場所と内 容を確認するツールで、大規模なフォルダ内でも迷わず直感的に確認が行える。暖色で強調表示されたフォルダにはコードクローンが多数含まれているので、その内部を更に調査し、クローン内容に問題があるかどうか確認することができる
「オンラインレビューデータ可視化ツールReview Data Analyzer (ReDA)」
ReDAは、オープンソースソフトウェアのオンライン・レビュー(コード審査)データを可視化する分析支援ツール。図は可視化の例で、Android OS開発のレビュー者データから、各参加者の貢献の種類と量を円の色と大きさで表し、さらに、組織別にグループ分けして表示している
「オンラインレビューデータ可視化ツールReview Data Analyzer (ReDA)」
ReDAは、オープンソースソフトウェアのオンライン・レビュー(コード審査)データを可視化する分析支援ツール。図は可視化の例で、Android OS開発のレビュー者データから、各参加者の貢献の種類と量を円の色と大きさで表し、さらに、組織別にグループ分けして表示している

飯田教授らが取り組んでいる具体的なテー マは、これまで取り組んできたソフトの制作 過程の解析と、ソフトそのものの解析とを高 度に統合し、システム全体を視野に入れたよ り広範囲で詳細な解析へと向かっている。

たとえば、飯田研究室では、大きなソフト の中で問題になる可能性がある個所を見つけ るソフトを作製している。「コードクローン」 と呼ばれる、他の場所からコピーして流用さ れたプログラムコードの存在率が異常に高い フォルダを明るい色で強調表示し、エンジニ アが一目でわかるように注意を促すのだ。「コー ドクローン」は一見無関係な箇所にも飛火し ていることが多く、ソフトウェアが大規模で あればあるほど修正漏れなどの問題が起きや すいために、このような支援が重要となる。

また、ソフトウェアのソースコードを公開 して、複数の開発者にボランティアで改良し てもらうような「オープンソース」のソフト に対して、それぞれの開発者がどのように関 わっているかを人脈図などで可視化できるよ うにした。「開発のキーパーソンはだれか」「トラブルに陥っていないか」など人的な課題を 探り当てることができる。そのさい、ツイッ タ―などソーシャルネットワークの解析に用 いられている手法を活用することで、開発者 が残したメッセージやコメントなどを分析に 生かしている。さらに、開発者の過去の仕事 の履歴などから判別して、「この部分の検査は この人が適任」と推薦するシステムも作っている。

「オープンソフトを含めソフトウェアの開発 では、開発する人材の適正配置などを支援す ることが非常に重要です」と飯田教授。さらに、 マクロな視点から、ネットによってコンピューターや情報機器がつながるクラウドやIOT(モノのインターネット)のシステムが信頼できる構造になっているか、どのように機能する のがふさわしいかといった、将来のネット環 境の課題を探る研究も手掛けている。

4カ国で国際連携

一方、市川准教授は、クラウドのシステム について、ソフトを働かせるコンピューター の配置や、その性能を最適化する技術を研究 している。これまで手作業で行っていたネッ トワーク設定作業についても、ソフトの制御 により自動的にできる「ネットワークの仮想化」が進み、「SDN(ソフトウェア・デファイ ンド・ネットワーキング)として中核の基盤 技術になっている。市川准教授は「これまで 静的に配備されていた機械を、ソフトで動的に配備するため、柔軟にシステムの構成や変 更が可能になります。そのため、それぞれの ユーザーの要求に応じて新たな機能が付け加 えられます。まず、研究者がそれぞれのテーマやアイデアで同時に使える。そのような環境づくりをめざしています」と話す。

このため、米国フロリダ大学、カリフォルニア大学サンデ ィエゴ校をはじめ、タイ、シンガポールなど4カ国を結んだ国際連携の広 域なネットワークの実験環境を設けた。「現段 階では広域間でネットワークを結ぶ場合、ど のような順番にすれば全体として優れたパ フォーマンスを出せるかなどの研究をしています」。

  • 「SDN実験環境PragmaENT 」
    日本、米国、タイ、シンガポール、台湾など複数国を結んで構築 中の広域Software-Defined Network (SDN) 実験環境
  • 「インテンシブソフトウェア解析システム」研究室の活動を支えるプライベートクラウド。 72の物理コアと25TBの高信頼化共有ストレージを備え、常時50台以上の仮想計算機がデータの収集や解析のために稼働している。 仮想計算機のデプロイ、OSやソフトウェアのインストール・運用などのクラウドマネジメントは研究を 進める上で必須の基礎技術

SF から始まった

このように、ソフト開発の基礎から応用ま で幅広く研究する飯田教授は、「SF が好きで、 計算機が知性を持つような研究に関わりたい」 と考えていた。1980 年代、高校生のとき宇 宙開発に携わるOB の講演を聴き、「宇宙に行 くなら、まず計算機の勉強を」と確信した。 宇宙への思いは、宇宙航空研究開発機構 (JAXA)との連携で行っている実習(惑星地 上自律探査機の設計と検証)に反映され、宇 宙システムに代表されるような高度な信頼性 が求められるソフト開発のエキスパートの養 成を手掛けている。

夏目漱石の「こころ」の第一文を自動解析した結果の表示(約10 万語からなるこの小説の全文の単語解析と文節係り受け解析を数秒で行うことができる)
夏目漱石の「こころ」の第一文を自動解析した結果の表示(約10 万語からなるこの小説の全文の単語解析と文節係り受け解析を数秒で行うことができる)
「run」 という単語はいくつもの語義をもっているが、「run a company」 や 「run marathon」 という具体的な表現の中でどのように曖昧性が解消されるかを大規模な言語データから自動的に学習することができるようになった
"run" という単語はいくつもの語義をもっているが、" run a company" や "run marathon" という具体的な表現の中で どのように曖昧性が解消されるかを大規模な言語データか ら自動的に学習することができるようになった

また、子供の頃から絵画や漫画を描くのが 大好きで、「絵を描くことの一つの意味は、物 事を抽象化し、重要な部分をわかりやすい形 で提示することです。そのような能力は情報 処理の分野でも非常に大事なことです。ビッ グデータのように混沌としたデータ群の中か ら、現象的な観察を行うだけではなく、その 裏に潜む真理を特定の視点(モデル)で論理 的に説明できれば楽しいですね」という。現 在の趣味は、クマノミなど海水魚の飼育。水 槽でアクアリウムをつくっているが、「水温の 上昇や水漏れのリスク管理など複雑な環境シ ステムの適切な設計と維持がいかに大変か。 趣味を通じて学んでいます」。

市川准教授は、根っからのコンピューター 好き。90 年代半ばの中学生時代から、家庭用 に普及し始めたパソコンに触れ、自分でプロ グラムを書き、実際に動作することに感動を 覚えてコンピューター科学の研究に携わりた い、と考えた。大学入学時はインターネット が家庭にまで普及した時期で、多くのコン ピューターを一度に制御して問題を解決する グリッド・コンピューティングの研究に取り 組んできた。「夢がかなってコンピューターに 囲まれた生活ができていることが一番の喜び。 自分で書いたソフトでコンピューターが制御 されていくのを見られるのがうれしい。この 分野は、他の分野と違って自分の扱える範囲 で結果がすぐにわかって次の段階に発展でき、 創造的な刺激が満たされる。学生と一緒に世 の中の役に立つものをつくっていきたい」と 語る。趣味は渓流釣りだが「目的地にたどり 着くまでの山登りの時間の方が長い。むしろ、 地図を見ながら地道に一つ一つ進むという自分が集中できる時間や環境をつくる方が好きなのかなと思います」。

将来も日本で研究したい

研究室の若手も夢を抱いて研究に励んでいる。

博士後期課程3 年の藤原賢二さんは、「ソフトの内部構造を整理するリファクタリングをするとバグが減るとされていることについて、過去のソフトの開発履歴を見て、その関係を調べています。リファクタリングが実際に必要であることはデータにも現れていることがわかってきました。また、プログラミング教育支援の研究も行っていて、学生のタイピング履歴などを調べて、過去のデータから自動的にこの辺で詰まっているというのがわかるようになってきました。プログラミングが苦手な学生が減るかもしれない」と期待する。「研究は楽しく、一日中研究室に居られる。はじめはできるかどうかわからなかったプログラムが動いて結果が出る。それで論文が書けるところが一番うれしい」と話す。趣味はプログラミングで、研究に疲れると別のプログラムを書いて息抜きするそうだ。

研究室の仲間と

博士前期課程1 年のポンサコン・ウチュパラさんはタイの国費留学生で昨秋に来日した。テーマはクラウドコンピューティングなどで、アプリケーションとネットワークの特性をマッチングさせて全体のパフォーマンスを向上させるという最新の技術の開発だ。奈良先端大はタイの有力大学と交流協定を結んでおり、毎年、インターシップの学生が訪れる。現在、飯田研究室だけでも4 人のタイからの留学生がいる。ポンサコンさんは「研究環境が非常によく、充実しています。大学院だけなので学生に対して教員の数が多く、議論が活発にできる。将来はコンピューター分野で研究できるならどこでもよいが、やはり日本で研究したい」と意欲を見せる。日本のアニメやゲームのキャラクターが大好きで、そうした若者文化へのあこがれもった、という。