« 制御フローテストの歴史(1)-黎明期(グラフの利用) | Main | 制御フローテストの歴史(3)-動的解析システム »

06 November 2011

制御フローテストの歴史(2)-黎明期(カバレッジ計測)

制御フローテストでは、テスト実行時にプログラム上の意図した箇所が通過したか、どこに分岐したかを計測してテストの十分性を評価するという方法が用いられますが、この計測のためのツールの開発は1960年代前半には開始されています。

IBM社ハイファ研究所(イスラエル)のUrの論文によると1960年代にIBM社のPoughkeepsie事業所でコードカバレッジ・ツールが開発されていたようです。

S. Ur and A. Ziv, "Cross-Fertilization between Hardware Verification and Software Testing," IBM Research Laboratory in Haifa, November 2002

この論文では1964年のWarnerと1967年のHirshの論文が参考文献としてあげられており、前者はハードウェア、後者はソフトウェアのコードカバレッジ・ツールのようです。

※いずれの論文も一般に出版されたものではなくIBM Technical Report(関係者だけに配布?)なので私は内容が確認できていません。当時の状況が分かる貴重な資料なのでIBMさんが100周年記念事業か何かで閲覧可能にしてくれるといいのにと思っています(ちなみにElmendorfの原因結果グラフの論文もIBM Technical Report)。

Beizerの「ソフトウェアテスト技法」では巻末に膨大な数の参考文献が記載されているのですが、この参考文献リストにもこれらの論文があげられており簡単なコメントが書かれています。

C. D. Warner Jr., "Evaluation of program testing," TR 00.1171, IBM Data Systems Devision Development Laboratories, IBM Poughkeepsie, N.Y., 1964
<Beizerのコメント>
  『COBOLとFORTRANソースプログラムを対象にしたハードウェアの命令語モニタについてのいちばん最初の解説書』

I. N. Hirsh, MEMMAP/360, TR-p-1168, IBM System Development Division Product Test Laboratories, IBM Poughkeepsie, N.Y., 1967
<Beizerのコメント>
  『ソフトウェアのステートメントカバレージとブランチカバレージアナライザについての初期の論文』

1960年代の状況はSiemens Corporate Research社のHutchinsの論文でも言及されています。

M. Hutchins, et al., "Experiments on the effectiveness of dataflow- and controlflow-based test adequacy criteria," ICSE, pp. 191-200, 1994

Hutchinsは1969年のIBM社のSchillerの論文を参考文献として、少なくとも1960年代にはソフトウェアのテストの十分性を監視するために制御フローに基づくコードカバレッジ基準が利用されていたと書いています。

H. Schiller, "Using MEMMAP to measure the extent of. program testing," Report TR 1836, IBM Systems Development Division, Poughkeepsie, NY, Feb. 1969
<Beizerのコメント>
  『ステートメント網羅、ブランチ網羅解析についての初期の論文』

Hirsh、Schillerの論文から、1960年代後半にIBM社でMEMMAPというカバレッジ計測ツールが使われていたということが分かります。
その後、1970年代に入って各社で本格的なカバレッジ計測システムの開発と適用が始まります。

|

« 制御フローテストの歴史(1)-黎明期(グラフの利用) | Main | 制御フローテストの歴史(3)-動的解析システム »