番号 | | ES-BASIC 2020年1月末時点 | ES-C 2020年1月末時点 |
01-01 | 配列やポインタアクセスのレンジチェック | ○ | △ |
01-02 | 不適切なポインタの減算 | - | △ |
01-03 | ポインタアクセス時のアライメントチェック | - | △ |
01-04 | free後の不適切なアクセスをエラーにできる(use-after-free 脆弱性) | - | △ |
01-05 | 二重freeをエラーにできる(double-free 脆弱性) | - | △ |
01-06 | メモリリークを発見できる(もしくはGCがあってリークがおきない) | △ | △ |
01-07 | 整数からポインタへの変換の禁止(特別な構文でのみ許可するなど) | - | △ |
02-01 | 数値演算のオーバーフローがあった時にエラーにできる(かつ必要に応じてこれを部分的に抑制もできる) | ○ | △ |
02-02 | 変数値に制約を持たせて、違反した時にエラーにできる | ○*1 | △*1 |
03-01 | エラー時に、どこでエラーが起きたのか、(最低でも)行単位で指摘できる | ○ | △ |
03-02 | どの行を何回実行したのかを報告できる | ○ | △ |
03-03 | エラー時にスタックトレースを表示できる | △ | △ |
04-01 | 通常実行モードと高速実行モードがあり、それは実行時にユーザが選べる | ○ | △ |
04-02 | 実行を一時的に中断し、変数などを自由に確認したのちに、再開できる(そういう命令がある or 複数のブレークポイントが設定できる) | ○ | △ |
04-03 | キー入力などのアクションによっても、一時的に中断し、変数などを自由に確認したのちに、再開できる | ○ | △ |
04-04 | エラー時に、変数値などを自由に確認できる | ○ | △ |
04-05 | 中断した状態をファイルに保存したり、そこから再開したりできる | × | △ |
05-01 | メモリを確保した時に、前のプログラムの実行結果などを不用意に渡さない | × | ? |
06-01 | ファジングやテストを支援する機能がある | × | △ |