0

awk を検証可能な決定論的方法で実行する方法を探しています。つまり、結果は入力のみによって決定される必要があります。言い換えれば、プログラムに出力があることを考えると、それが再現可能かどうかを知りたいのです。

これは、システム時間や/dev/random.

gawk のサンドボックス フラグを調べましたが、これは役に立たないと思います。

4

2 に答える 2

1

ZeroVM はまさに、あなたが望むことを行う方法です。アプリケーションをサンドボックス化し、すべての非決定論的なシステム コールを削除します。例として、スレッドはなく (それらのスケジューリングは必然的に非決定論につながるため)、時刻は実行ごとに 1970 年 1 月 1 日から始まります (時刻は特定のシステム コールによって進められます)。

ZeroVM がインストールされたシステムはもうありませんが、awk をコンパイルするのは難しくありません。実際、busybox が ZeroVM で実行されていたことを覚えています。busybox には awk のような形式があります。

于 2016-04-12T22:16:19.530 に答える