rein's world

코드 정적 분석: CI 툴에 추가할만한듯?

VS 2005를 쓰고 있긴하지만, 팀 시스템이 아니라서 static code analysis 기능은 없다. 정정 분석(static code analysis)은 *nix 시절의 lint 비슷한 툴을 생각하면 된다. 소스 코드를 입력으로 받아서 실제 실행없이 버그가 있음직한 곳을 찾아서 경고해주는 기능을 하는 도구다. 

예전에 팀 동료인 Azyu 군이 VS 2005 (w/o TS)에서도 정적 분석이 된다고 해서,  좀 찾아봤는데 이건 뭔가 좀 불충분(?)해보여서 관뒀는데, cppcheck 란 툴을 발견하고 좀 써보기로 했다.

대략,

  • 커맨드라인 툴이고
  • 실행 속도는 적당히 빠른 편 – CPP 소스 94개 정도의 파일 공유 웹서버 프로젝트를 분석하는데 1분 미만.
  • XML 출력이 됨 — CI 툴에 곁들이기가 좋아보인다
  • *nix / Win32 모두 지원 — linux distro. 들은 직접 팩키지를 제공하는 경우가 많고 Win32 설치용 바이너리도 있다

정도의 장점이 있음.

내가 일하는 데 사용하는 CI 툴에 통합해본 건 아니지만, 이 정도면 통합하는데 오래걸리진 않을 듯 하다 + 기존 오픈소스 프로젝트에서도 몇 가지 버그를 찾은걸 보면 나름대로 도움은 될듯?