페이스북, 모바일 앱 디버깅 도구 오픈소스로 공개

가 +
가 -

페이스북이 6월11일 모바일 앱 개발도구 ‘인퍼’를 공개했다. 페이스북은 “인퍼는 누구나 무료로 사용할 수 있다”라며 “인퍼로 모바일 앱의 오류를 방지하고 성능을 높일 수 있다”라고 설명했다.

인퍼는 정적 프로그램 분석 도구다. 다른 디버깅 도구와 달리 프로그램이 완성되기 전에 소스코드의 오류를 발견할 수 있다. 자바, C언어, 오브젝티브-C로 작성된 코드는 인퍼를 활용해 오류를 찾을 수 있다.

Infer-02

▲페이스북이 공개한 오픈소스 디버깅 도구 인퍼 구조(사진 : 인퍼 홈페이지)

인퍼는 현재 맥 OS X나 리눅스 환경에서만 이용할 수 있다. 각 운영체제에 맞는 파일을 내려받고 터미널에서 파일 경로를 입력하면 인퍼를 이용할 수 있다. 개발자는 인퍼라는 명령어 뒤에 검사받고 싶은 파일을 입력하면 오류 종류와 관련된 소스코드 위치를 확인할 수 있다.

Infer-07

▲인퍼 홈페이지에서 운영체제에 맞는 파일을 다운받을 수 있다. 파일을 풀기 위해서는 아래와 같은 명령어를 입력해야 한다(사진:인퍼 튜토리얼페이지)

Infer-08

▲파일을 풀고 난뒤 경로를 추가로 입력할 수 있다(사진 : 인퍼 튜토리얼 페이지)

Infer-03-RE

▲검사받고 싶은 파일을 입력하고 실행하면, 에러 종류를 확인할 수 있다. 에러가 발생된 코드 위치도 알려준다(사진 : 인퍼 공식홈페이지)

Infer-04

▲오류가 발생된 코드 위치의 예(사진 : 인퍼 공식홈페이지)

Infer-05

▲널포인터역참조 문제를 해결하기 위해 코드를 고치는 과정(사진 : 인퍼 공식홈페이지)

Infer-06

▲파일을 수정하고 다시 인퍼로 검사하면, 오류가 없는 파일이라는 것을 확인할 수 있다(사진 : 인퍼 공식홈페이지)

인퍼는 널포인터역참조, 메모리 누수, 순환참조 같은 오류 등을 찾아준다. 각 언어마다 찾아낼 수 있는 오류는 다르다.

Infer-09

▲인퍼가 찾아줄 수 있는 각 언어별 버그(사진 : 인퍼 튜토리얼 페이지)

페이스북은 공식 홈페이지를 통해 “페이스북의 안드로이드와 iOS 앱, 메신저 앱, 인스타그램 등을 개발할 때 인퍼를 사용했다”라고 설명했다. 인퍼는 오픈소스 소프트웨어이기 때문에 소스코드를 들여다볼 수 있다. 라이선스는 BSD가 적용됐다. 소스코드는 깃허브에 공개됐으며, 누구나 피드백을 제공하고 소스코드를 개선할 수 있다.