(元記事は http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe-languages.html です。 この記事は Hacker News でも話題になりました。) OpenSSL の heartbleed バグ はインターネット全体に多大なダメージを与えました。 このバグはとても単純で、C言語のような安全でない言語を使ったプログラミングがなぜ問題になるのかを示す教科書的な例です。 より安全なシステムプログラミング言語がこのバグを防止できるかどうかの実験として、 今回問題の関数を ATS プログラミング言語 を用いて書き直してみます。 私は以前、より安全なC言語として ATS について紹介しました。 この記事では現実のテストケースを取り扱います。 ここでは ATS2 と呼ばれる ATS の最新版を使