ソフトウェア工学やQA(Quality Assurance)に関する様々な角度からの研究について、研究者の方にお話を伺う『QA最前線!』。ソフトウェア開発、品質向上・QAを推進する上でも様々なエコシステムが活用されています。こういった流れの中でソフトウェアメトリックスの考え方はますます重要になってきました。最先端の研究現場で、今、どのような研究が行われているのか、注目している方も多いと思います。
今回は、大阪大学大学院 情報科学研究科の土屋 達弘 教授にお話をいただきます。
今回インタビューを受けてくださった方
- 土屋 達弘 教授
大阪大学大学院 情報科学研究科
情報システム工学専攻 ディペンダビリティ工学講座
1996年4月大阪大学・基礎工学部・助手、1998年9月に大阪大学 博士(工学)を取得、2000年5月から大阪大学大学院・基礎工学研究科・講師、2002年4月から同大学院・情報科学研究科・助教授、2012年4月から同大学院教授に着任。ディペンダビリティ工学講座でディペンダブルな(信頼のおける)情報システムを実現するための技術について研究を進めている。2022年6月から電子情報学会ディペンダブルコンピューティング研究会(DC研究会)の専門委員長。著書に「教養のコンピュータアルゴリズム」(共立出版)、共著「ディペンダブルシステム: 高信頼システム実現のための耐故障・検証・テスト技術」(共立出版)がある。
- もくじ
信頼のおける情報システムを実現するために
――これまでのご経歴や現在、研究されているテーマを教えてください。
2012年から大阪大学大学院教授に着任し、ディペンダビリティ工学講座でディペンダブルな(信頼のおける)情報システムを実現するための技術について研究を進めています。
ディペンダブルな、つまり、信頼のおける情報システムを実現するための技術です。具体的に説明するとシステムの設計やプログラム中の誤りをコンピュータにより自動的に検出するモデルチェッキング技術や、システムの正しさを効率的にテストするためのテスト方法の開発などがあげられます。その他にも電力システムのディペンダブル化にも取り組んできました。
――ディペンダブルシステムの研究に興味を持った「きっかけ」は何だったのでしょうか?
学生時代、研究室決めの際に友人がディペンダブルシステムをやっている研究室に行きそうだからという安易な理由で選びました。そこでやっている研究の中で、マルコフモデル(Markov Model)を使ったモデル化がちょっと面白そうだなと思ったのがきっかけです。
マルコフモデルとは状態が確率によって遷移していくのを表現したモデルです。システムの全ての状態間遷移は確率変数によって定義されているため、さまざまなものの挙動が表現できたり、数値的な解析ができたりするのが面白いなと思い、最初はマルコフモデルを使ってモデル化をやってみようとはじめました。
――どんなときに研究の面白さや、やりがいを感じますか?
私たちはテストや検証もやっていますが、具体的なモデル検査では全ての状態を調べ尽くして、めったに起こらないようなパターンでもバグになる可能性があれば検出する技術を使って、アルゴリズムを検証することがあります。割と有名な雑誌に掲載され知られているようなアルゴリズムにバグが見つけることができると少し喜ばしいところはありますね。
システムの信頼性を保ちながらテストのコスト低減を目指す
――現在研究されている「ディペンダブルシステム」とは、どのような分野で活用されているのでしょうか?
ディペンダブルシステムに関連する研究は多岐に渡ります。
たとえばLSIの故障検出テストをされている方たちもいますし、ハードウェアをどういうふうに耐故障化するかを議論している方たちもいます。片やソフトウェアにバグがあったときどうするか、あるいはソフトウェアの信頼性をどうやって見積りするかという分野もあります。そういう意味で非常に広い分野といえるでしょう。
――電力システムをディペンダブル化するメリットを教えてください。
たとえば電力システムの話では、システムをネットワークでモデル化するようなことがあります。ネットワークのモデルでどこの部分が脆弱なのか、仮に変電所や施設が攻撃を受けたり事故にあったりした場合、電力系全体に影響が大きいのか、どこが一番大事か、などをモデル上で解析するような研究もあります。
一方でソフトウェアのテストでもディペンダブル化するメリットはあります。例えば、実際の企業であるシステムをテストした場合、テストは外注しているのでテスト文章が多く存在し、実際されたテストと文書はあるものの、その機能のどこがテストされているのか、トレーサビリティというのが文書だけでは不明なときに、各文章間の類似度を計測することで文章間のネットワークみたいなのを作れるわけです。
今度はそのネットワークを見ることで、どこが脆弱か、テストされてないか、ここは過剰にテストされているなどわかります。そういう意味で、ある種の数理的なモデルがあると理論的なことやっている大学の人間は使いやすく、電力系の話もネットワークのモデルがあるとそこから信頼性に関して解析することが可能になってきます。
ソフトウェアの文章をアーティファクトと呼んでおり、そういうのもネットワークとしてモデル化してあげればそこから何か有用な情報が導き出すことが可能です。
新しい社会に向けてこの分野を発展させる役割がある
――今後のご研究を通じて、将来にどのようなインパクトを与えたいとお考えでしょうか?
まさにそこが非常に大事なところで、かつ大学の研究がどうしても抱えている問題だと思っています。
理想的なのは、現在組み合わせテスト(※後述する組合せテストツール「Qumias」)を現場で使っていただいているように、理論が現場に繋がって実際に使ってテストしたというお話を伺うと、我々が作った技術が何らかの形で役に立っていると非常にありがたいです。
ただ、必ずしも常にそういう理想的な状況に研究があるわけではありません。どうしても研究の世界でモデル化された問題が実用に値するか、実際の必要な場面があるのかというところに大抵はギャップがあります。研究成果は何も使われないで単にせいぜい論文に載って終わりということも少なくありません。これは多くの理論的な研究をしているところが感じていることだと思っています。
たとえばロケットのようなシステムに各コンポーネントの信頼度が与えられたとき、全体としてどれくらいの信頼度になるのかというのを計算する。情報システムあるいは情報システムに限らず何らかのシステムが社会にどれくらい安心して提供できるかというような、見積もりのお手伝いをさせていただけるのかなと考えています。
――今後の研究の目標をお教えください。
研究成果だけではなくて何らかの形で社会的に使っていただける技術を産出していければと思っています。
昔のコンピュータはすぐ壊れていたので非常に実用的な技術でした。近年では飛躍的にコンピュータも信頼性が高くなってきているため、そういう意味ではこの分野的には割と役を果たしたと思います。
ただし、今後は自動車運転のようなより信頼性が必要な分野にコンピュータが必要になってくるわけです。そうなるとさらに今までとは段階の違った信頼性の高さが必要になり、新しい社会に向けてもう一歩このディペンダブルという分野を発展できたらと思います。
――どんな人材を育成したいと考えておられますか?
そこが非常に悩みどころです。
おそらく優れた人材は今も昔も分野が変わっても、求められる素質はあまり変わりません。要はまず人のいうことをきちんと理解した上で、自分自身で考えることができる人材が大事です。それは古今東西どの分野でもそういう方が望まれているのではないでしょうか。問題はそういう人をどう育てていくかということです。これが昔と今で全く状況が変わってしまいました。
昔は人が多かったのでこちらは選抜すればOKだったわけです。そして、どんどん難しい課題を出してついてこられた人だけが残る、これも人が多かったからできたことでした。今はどんどん若者が少なくなっており、そういうことはできません。また、日本自身も相対的な地位はどんどんなくなっていっている状況です。そうなると今ある人たちを何とか十分に盛り立ててサポートし成長させていかないといけないというところを感じています。
そういう意味で学生さんや若い人に期待しているというより、我々年長者が変わらないといけないのかなと、もっとそういう点に尽力すべきだと考えています。
――最後にQbook読者にメッセージをお願いいたします。
私は電子情報学会ディペンダブルコンピューティング研究会(DC研究会)の委員長を務めさせていただいています。これまで学会発表をしたことがないという方もぜひ興味を持っていただければと思います。研究分野に関してはディペンダブルシステムと関係ある研究じゃなくても大丈夫です。技術的なご報告をしていただけるようでしたら、年2回か国内で開催しているので、ぜひお気軽にご参加いただければと考えています。
――本日はいろいろお話をしてくださり、ありがとうございました。
組合せテストケース生成ツール「Qumias」について
バルテスは以前、土屋教授と「Qumias」(クミアス)の共同研究を行っていました。
「Qumias」(クミアス)とは、土屋教授の開発する組合せテストケース生成エンジン CIT-BACH(シット・バック)を用いた、高速な組合せテストケース生成ツールです。
従来の組合せテストケース生成ツールは、禁則が複雑になったり、因子・水準数が増えると、極端に処理が遅くなる、 ハングアップするなどの問題点があり、実業務で使用するには注意が必要でした。
この共同研究では、土屋教授が強力な計算アルゴリズムを有する組合せテストケース生成エンジン CIT-BACH(シット・バック)を開発し、従来の問題点を大きく改善しました。
バルテスは実際のソフトウェア開発現場で使われた 因子水準や禁則条件を使用してCIT-BACHに対するテストを行い、エンジンが実用に耐えるものであることを確認しています。また、使いやすいGUIをデザインし、それを多くのIT技術者が使い慣れているExcelで動作するアドインによって実現しました。
これによりシンプルなGUIベースのCIT-BACHの性能を存分に活用できるツールとなっています。
組合せテストケース生成ツール「QumiasPlus」はこちらからご利用ください。