3 # Test script to verify ACSL contracts using Frama-C for a single file
4 # Usage: ./test_frama_c_single.sh <filename>
7 echo "Usage: $0 <filename>"
8 echo "Example: $0 find1.c"
13 BASENAME=$(basename "$FILENAME" .c)
15 echo "Running Frama-C verification on $FILENAME..."
17 # Run frama-c with WP (weakest precondition) plugin to prove contracts
18 frama-c -wp -wp-rte -wp-prover cvc4 -verbose 2 -wp-verbose 3 -wp-debug 1 -wp-proof-trace -time "../timing_$BASENAME.log" -cpp-extra-args="-I../inc" "../src/$FILENAME"
22 echo "✓ All ACSL contracts verified successfully for $BASENAME"
25 echo "✗ Frama-C verification failed for $BASENAME"