【テクノロジーの裏側】:英国郵便局の冤罪事件とプログラミングの課題
今日は、今朝(2024年1月18日)の日本経済新聞の春秋で、機械の正確性に依存することのリスクと、それに伴う冤罪の可能性について述べられていたので、それに関して思うことを書きたいと思います。
英国郵便局の冤罪事件
冤罪事件に関する記事を要約すると以下のとおりである。
ニューズウィーク日本版にも以下のような記事が掲載されている。
富士通は1990年に英ICL(現富士通サービシーズ)を買収。ホライゾンは同社が開発し、保守・運用も担ってきた。裁判などを通じて、ホライゾンの欠陥により窓口の現金とシステム上の残高の不整合が生じていたことが明らかになっている。
しかしながら、英ICLを買収した富士通の責任は重大である。
プログラマー・システムエンジニア経験者が思うこと
プログラマー・システムエンジニアを経験した身としては、大規模なシステム構築では、バグや不具合を100%取り除くことはできないと思う。ただし、絶対に不具合の発生が許されないプログラムは存在するため、正確性をいかに担保するのかは課題として残る。
昨今のChatGPTなど生成AIの浸透により、生成AIが自動でプログラムコードを生成することが可能となった。プログラムコードの自動生成によるリスクは以前のプログで書いたので確認いただきたい。
ChatGPTや生成AIもプログラムコードであり、バグや不具合が潜んでいるかもしれない(きっと潜んでいる)。それらが生成したアウトプットは果たしてどこまで信用できるのか、それが正誤を判断するのは最終的には人間なのである。
プログラムの正確性を保証するための方法
過日のブログでも「テスト駆動開発(TDD)」について書いたが、
と述べられています。
「テスト駆動開発(TDD)」の参考サイト
「テスト駆動開発(TDD)」が有効なのであれば、すべての開発をTDDで行えば誤りを減らすのに役立つが100%バグや誤りを無くすことは難しく、皆が同じ開発手法を行うことはもっと難しい。
結局どうすれば良いのでしょうか。
プログラムの正確性を保証する方法は開発されるのでしょうか?
それとも、すでに存在するのでしょうか?
この記事が気に入ったらサポートをしてみませんか?