JavaScript 정적 분석 도구 DeepScan 소개

JavaScript가 참 많이 사용됩니다. 단순한 웹 UI용 언어에서 지금은 서버 및 데스크톱 앱 개발을 망라하는 인기 있는 언어가 되었습니다. GitHub에 따르면 2016년 가장 많은 pull request가 있었던 언어라고 할 정도로요.

하지만 JavaScript의 매력이기도 할 유연한 타입이나 동적 실행은 그 활용 범위와 관리할 코드 크기가 커지면서 오히려 뛰어난 코드 품질을 유지하는 데 방해가 되고 있습니다. TypeScript의 사용이 늘어나고 Flow 같은 타입 체커가 나오는 이유이겠죠.

그렇다면, JavaScript에도 C나 Java의 Prevent 같이 개발자들이 코드 품질 유지에 도움을 주는 도구가 있다면 어떨까요? ESLint 같이 단순한 구문 체크가 아니라 프로그램의 실행 흐름을 이해하고 에러나 흔한 실수를 미리 잡아 줄 수 있다면 어떨까요?

이런 생각에서 다음과 같은 JavaScript 코드 인스펙션 도구 DeepScan을 만들게 되었습니다.

  • JavaScript 정적 분석 기술에 기반해 프로그램의 실행 흐름을 이해한다.
  • 개발자들이 진짜 에러에 집중할 수 있도록 노이즈(false alarm)가 적다.
  • 에러와 코드 품질 관점의 유용한 규칙들을 제공한다.

그리고 얼마 전 DeepScan 기반의 GitHub 연동형 서비스 deepscan.io를 시작하게 되었습니다. GitHub 계정만 있으면 자신의 리파지토리를 분석할 수 있고, 바로 임의의 코드를 분석해 볼 수 있는 데모도 제공합니다.

방문해 보세요!

아직 알파 서비스라 갈 길이 멀지만 JavaScript 개발자에게 유용한 도구가 될 것이라고 믿고 있습니다. 서비스에 대한 피드백이나 이런 규칙이 필요해 같은 아이디어 모두 환영합니다^^. 블로그 댓글이나 support@deepscan.io 어디로든요!

comments powered by Disqus