連載
» 2019年10月08日 10時00分 公開

ソフトウェア技術者のためのバグ百科事典(1)うるう年山浦恒央の“くみこみ”な話(122)(3/3 ページ)

[山浦恒央 東海大学 大学院 組込み技術研究科 非常勤講師(工学博士),MONOist]
前のページへ 1|2|3       

5.うるう年のバグを防ぐポイント

5.1 うるう年のバグを防ぐには

 筆者は、うるう年のバグはコーディング、デバッグ、単体テストが重要だと考えます。以下に、押さえておきたいポイントを示します。

  1. 仕様にうるう年を考慮しているか
  2. コードにうるう年の処理を記述しているか
  3. うるう年の2月29日周辺をテストしているか
  4. うるう年の12月31日をテストしているか

5.2 うるう年バグの兆候

 いくら対策をしても、バグが発生することがあります。以下にうるう年のバグの兆候を示します。

  1. 2月29日、12月31日にバグが発生する
  2. それまでは普通に動作しているプログラムが突然動かなくなる
  3. 一定の時間が経過するとプログラムが正しく動作する

6.終わりに

 新シリーズとして「バグの未然防止」「バグの原因特定の効率化」に役立つバグ百科事典を始めました。第1回は、うるう年のバグです。組み込み系製品では、日付を使った機能が多数あります。特に、うるう年のバグは要注意です。時限爆弾のように不定期に発生するので、2月29日付近、12月31日付近に前触れもなくバグが発生する際は、うるう年を疑いましょう。

 次回は、上記の5.1、5.2で挙げた内容を掘り下げます。興味のある方は、カレンダーの歴史を読むと、うるう年に関する知識が深まります。今回参考にした書籍を[2]に示しますので、興味のある方は一読をお薦めします。

参考文献

[1]なぜシステムがダウンするのか 知っておきたいシステム障害、信頼性の基礎知識((著)大和田尚孝、(監)日経コンピュータ、2009年、日経BP)

[2]暦の科学(片山真人、2012年、ベレ出版)

【 筆者紹介 】
山浦 恒央(やまうら つねお)

東海大学 大学院 組込み技術研究科 非常勤講師(工学博士)


1977年、日立ソフトウェアエンジニアリングに入社、2006年より、東海大学情報理工学部ソフトウェア開発工学科助教授、2007年より、同大学大学院組込み技術研究科准教授、2016年より非常勤講師。

主な著書・訳書は、「Advances in Computers」 (Academic Press社、共著)、「ピープルウエア 第2版」「ソフトウェアテスト技法」「実践的プログラムテスト入門」「デスマーチ 第2版」「ソフトウエア開発プロフェッショナル」(以上、日経BP社、共訳)、「ソフトウエア開発 55の真実と10のウソ」「初めて学ぶソフトウエアメトリクス」(以上、日経BP社、翻訳)。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.