私はソフトウェア エンジニアリング コースを勉強していますが、そこで JML の使用法を見ました。コードの例を次に示します。
//@ requires f >= 0.0
public float sqrt(float f) {
return f/2;
}
正式な JML 仕様が実行可能だということです。
私の質問は、f=-4 でこの sqrt 関数を呼び出すと、このコードはエラーを出すか、例外をスローするか、警告を出すかです。私は自分のコンピューターで試してみましたが、うまく機能し、-2.が出力されました。では、JML が実行可能であるとはどういう意味でしょうか? これを行うためにコメントだけを使用しないのはなぜですか? 誰でも説明できますか?
ありがとう