
Mac M1에서 정적 분석기 infer 사용하기
·
개발 지식
1. infer란?페이스북에서 개발한 정적 분석기로, Java, ObjC/C/C++ 등의 언어 분석을 지원한다. 정적 분석기인만큼 프로그램을 실행하지 않고 소스 코드를 분석하여 오류를 탐지한다. infer는 구조적으로 앞단과 뒷단으로 구성된다. 앞단에서는 분석 대상 프로그램을 infer가 이해할 수 있는 중간 언어인 SIL 또는 HIL로 변환하고, 뒷단에서는 변환된 코드를 기반으로 다양한 체커들이 오류를 탐지한다. 이때 체커는 infer 내부에서 특정 오류를 탐지하기 위해 설계된 독립적인 분석 모듈로, 각각 고유한 분석 기법을 사용하여 변환된 프로그램을 분석하는 역할을 한다. 자바 코드에서 널 포인터 접근을 방지하는 Nullsafe, 멀티스레드 환경에서 발생할 수 있는 레이스 컨디션을 분석하는 Racer..