본문 바로가기

[2022년 파트 - 김홍규 개발자] uftrace

honggyu 게시글 작성 시각 2022-04-02 11:37:00 게시글 조회수 2297
파트 프런티어
uftrace
김홍규
C/C++/Rust로 작성된 프로그램을 코드 수정 없이 함수 단위로 성능을 측정하고 실행흐름을 추적(tracing)할 수 있는 분석 도구
2022 년
기타

- 개발자 주요경력
2020년 3월 ~ (현) Arm
2013년 5월 ~ (전) LG전자

 

- 개발자 전문분야

system tracing/profiling/debugging
 

- 활동 커뮤니티

github, C++ Korea

 

- 활동 프로젝트 분야

tracing, profiling, debugging, binary analysis

 

- 프로젝트 개요

uftrace는 C/C++/Rust로 작성된 프로그램을 코드 수정 없이 함수 단위로 성능을 측정하고 실행흐름을 추적(trace)할 수 있는 분석 도구이다. 이러한 분석을 위해 어떠한 코드 수정도 필요 없이 단지 기존에 존재하는 컴파일러 옵션의 도움으로 분석이 가능하고, 또한 최근에는 full dynamic tracing 기법의 도입으로 컴파일러의 도움 없이도 바이너리 분석 및 조작을 통해서도 분석이 가능하다.


- 프로젝트 목표
다른 사용자들이 더 쉽고 안정적으로 uftrace 를 통해 다른 프로그램에 대한 분석을 쉽게 할 수 있도록 하고, 데스크탑이나 서버 환경인 x86_64 그리고 임베디드 시스템 환경에서 사용중인 ARM 이나 AArch64 환경에서 잘 동작하도록 꾸준히 개선한다.

- 프로젝트 특징

uftrace 는 소스코드에 있는 전체 함수와 라이브러리 호출 및 리눅스 커널 내부 함수에 대한 통합된 실행 흐름 추적이 가능하고, 시간의 흐름에 기반한 tracing 을 할 수 있어서 전체적인 프로그램 실행 순서에 대한 이해에 큰 도움이 될 수 있다. 또한, uftrace 는 함수의 인자 값 및 반환값도 읽을 수 있어서 이를 활용하면 특정 함수에 어떤 기대하지 않았던 인자가 전달되거나 리턴 값을 반환하는 것을 코드 수정 없이 쉽게 찾아낼 수 있어서 버그나 취약점 분석에 활용할 수 있다.

 

- 참고자료

https://uftrace.github.io/slide

전문개발자 프로젝트 - 번호, 제목, 분야, 조회수, 작성
번호 제목 분야 조회수 작성
273 [2022년 파트 - 김홍규 개발자] uftrace 기타 2297 2022-04-02
272 [2022년 코퍼레이션 - 강대명 개발자] Redismon 클라우드 1854 2022-04-02
271 [2022년 파트 - 유태희 개발자] Linux Networking Stack 클라우드 2088 2022-03-26
270 [2022년 파트 - 진유림 개발자] react-analytics-provider 빅데이터 1949 2022-03-26
269 [2022년 파트 - 배창혁 개발자] Yocto Project, Automotive Grade Linux (AGL) 자율주행/커넥티드카 1813 2022-03-26
268 [2022년 파트 - 송석호 개발자] Chromium 기타 1701 2022-03-26
267 [2022년 파트 - 박조은 개발자] Pandas 빅데이터 1801 2022-03-26
266 [2022년 파트 - 박한범 개발자] UFTRACE / Dex2IR 기타 1647 2022-03-26
265 [2022년 파트 - 문태훈 개발자] GlueSQL 빅데이터 1761 2022-03-26
264 [2022년 파트 - 김선두 개발자] Chromium 기타 1637 2022-03-26
맨 위로
맨 위로