지침


이 문서는 분석기를 구현할 때 참고할 지침을 제공해요.

일반 사항

  • 제출된 모든 파일을 분석해요. 단, tests/invalidator/editor/example/exemplar 파일은 제외해요.
  • 100% 정확도를 목표로 삼을 필요는 없어요. 거의 불가능하니까요. 분석기가 모든 문제를 찾아내지 못하거나 특정 태그를 추론하지 못해도 괜찮아요.

컴파일

사용하는 언어에 컴파일 단계가 필요하다면 다음 사항을 고려해 봐요.

  • 풀이를 컴파일하면 보통 더 높은 정확도를 얻을 수 있어요. 예를 들어 어떤 값의 확정적인 타입은 컴파일한 뒤에야 알 수 있어요. 다만 실행 속도가 느려지고 메모리를 더 쓴다는 등, 감수해야 할 점도 있다는 걸 알아두세요.
  • 성능을 높이려면 가능하다면 메모리 내 컴파일도 고려해 봐요.

테스트

  • 테스트 스위트를 폭넓게 갖춰요.
  • 골든 테스트로 분석기의 동작을 검증해요. 이 테스트는 분석기를 검증하기 위해 배포될 Docker 이미지를 사용해야 해요.
  • 각 접근법에 대한 테스트를 준비하는 것도 고려해 봐요. 분석기가 이런 풀이에서 제대로 동작하면 좋고, 나중에 접근법에 태그를 붙이는 데에도 도움이 돼요.