もしプログラムに間違いがあったら? 信頼できるシステムを創る技術

もしプログラムに間違いがあったら? 信頼できるシステムを創る技術

正常に動いて当たり前

スマートフォンなどでゲームをしていると、サーバが止まって遊べなくなることがあるでしょう。原因は、アプリの作り方に問題がある、データセンターとうまく連携が取れていない、などが考えられます。ゲームに限らず、今や私たちの生活はたくさんの「プログラム」が正常に動くことによって成り立っています。飛行機や電車などの大規模交通システムも同じです。

飛行機は「多数決」で飛んでいる?

もし飛行機が操縦した通りに動かなかったら、大変なことになります。現在の飛行機の操縦システムは「フライ・バイ・ワイヤ」といって、すべて電子制御です。その制御プログラムにバグ(不具合)があってはなりません。そこで、異なる開発者が作った4つのプログラムを同時に動かすなどします。普段は動作が一致しますが、もしかしたら1つだけバグによって異常な値を出すかもしれません。しかし4つ同時に動いていれば残り3つは正常である確率が高いですから、操縦に対する動作を多数決で決めれば安全性は確保されます。こうした考え方は「冗長化」と呼ばれます。

信頼性を高める方法

こうした対策のほか、ソフトウェアにバグを作らない、あるいはバグがあればどこから発生しているかを検出するテスト技術が求められています。単体のプログラムでロジック(論理)の破綻がないかを検証することは比較的簡単ですが、組み合わせによって動きが変わる場合があります。わかりやすく言うと、WindowsなどのOS(オペレーティングシステム)が3つ、ユーザーが使用するウェブブラウザが3つ、プログラムを実行するデータベース管理システムが3つあれば、テストすべき組み合わせは27通りになります。実は組み合わせを工夫すれば、9種類で漏れなくテスト設計が可能となりますが、インフラを支えるようなシステムなら組み合わせは桁違いに複雑になるでしょう。プログラムは将来さらに高度化・複雑化します。動作を保つテスト技術もさらに発展させていく必要があるのです。

※夢ナビ講義は各講師の見解にもとづく講義内容としてご理解ください。

※夢ナビ講義の内容に関するお問い合わせには対応しておりません。

先生情報 / 大学情報

大阪大学 基礎工学部 情報科学科 計算機科学コース 教授 土屋 達弘 先生

大阪大学 基礎工学部 情報科学科 計算機科学コース 教授 土屋 達弘 先生

興味が湧いてきたら、この学問がオススメ!

情報科学、情報工学

先生が目指すSDGs

メッセージ

日常的に使っているパソコンやスマートフォンのアプリの正体は、コンピュータプログラムです。もし実際にアプリを作った経験があるなら、バグ(不具合)がないよう正しく作るのは非常に難しいことを知っていると思います。
私たちの研究グループでは、バグを発見するなど「信頼のおけるプログラムを作るため」のプログラムを研究しています。こうした研究には、数学や英語などの素養も必要です。遊ぶ、使うだけでなく、あなたも「作る側」として一緒に情報技術について学びませんか?

先生への質問

  • 先生の学問へのきっかけは?
  • 先輩たちはどんな仕事に携わっているの?

大阪大学に関心を持ったあなたは

自由な学風と進取の精神が伝統である大阪大学は、学術研究でも生命科学をはじめ各分野で多くの研究者が世界を舞台に活躍、阪大の名を高めています。その理由は、モットーである「地域に生き世界に伸びる」を忠実に実践してきたからです。阪大の特色は、この理念に全てが集約されています。また、大阪大学は、常に発展し続ける大学です。新たな試みに果敢に挑戦し、異質なものを迎え入れ、脱皮を繰り返すみずみずしい息吹がキャンパスに満ち溢れています。