ガイダンス


このドキュメントは、アナライザーを実装する際のガイダンスをまとめたものです。

全般

  • 提出された_すべて_のファイルを解析しましょう。ただし、tests/invalidator/editor/example/exemplarのファイルは除きます。
  • 100%の正確さを目指す必要はありません。それを達成するのはほぼ不可能です。アナライザーがすべての問題を見つけられなかったり、特定のタグを推測できなかったりしても問題ありません。

コンパイル

言語にコンパイルの手順が必要な場合は、次の点を検討しましょう。

  • 解答をコンパイルすると、通常はより高い精度が得られます。たとえば、値の確定した型がわかるのはコンパイル_後_だけです。ただし、トレードオフ(実行が遅くなる、メモリ使用量が増えるなど)にも注意しましょう。
  • パフォーマンスを改善するために、可能であればインメモリでのコンパイルを検討しましょう。

テスト

  • 充実したテストスイートを用意しましょう。
  • アナライザーの動作を検証するには、ゴールデンテストを使いましょう。これらのテストでは、アナライザーの検証のためにデプロイされるDockerイメージを使うようにしましょう。
  • 各アプローチのテストを用意することも検討しましょう。これらの解答に対してアナライザーがうまく動作することが望ましく、後でアプローチにタグを割り当てるのにも役立ちます。