観測点数が限られているときに現象の発生順を知るための方法
題名からは、何を言っているかわからないと思いますが、そのままです。観測点数=ブレークポイントの数やオシロスコープのプローブ数です。同時に見ることができる観測点が限られていると、全部を同時に観測してふるまいの発生順を知ることができません。
それを解決するために組合せテストの手法を使ってみました、というお話です。文脈としては実験計画法のようなものでしょうかね。
どうやったかというと、組合せテストの2因子間網羅のテストパターンを実行し、それらの結果を組み合わせることで現象の発生順を再現する、というやり方です。
具体例
簡単のために、観測点の数の制限を2、ふるまいの種類数を3(A,B,C)とする。
また、A-B-C-A-Bという発生順を証明することを仮定する。
A,Bの発生順を調査する場合、テスト結果はA-B-A-Bとなる。
B,Cの発生順を調査する場合、テスト結果はB-C-Bとなる。
上記2つを証明した段階で、A-B-(A,C)-Bという順序性は証明されるが、(A,C)は証明されないため、A,Cの発生順を証明する必要がある。
このように、1度の試行で全ての期待値を確認できない場合、全ての2つの期待値間の順序性を示す必要がある、ということになる。
このように考えると、2因子間網羅のテストパターンを実行することが有効になる。
よって、A,Cの発生順を調査することになる。
上記考え方は因子数が増えても同じになるので、PICTを使ってテストパターンを考えて実行、その後結果を結合する、という実装にしました。
結果としてとってもうまくいきました。どんなところで一見関係ないように見える知識が使えるかわかりませんね。