Scavenger - 런타임 데드코드 분석 도구 오픈소스
(github.com/naver)- 네이버가 공개한 오픈소스. 네이버내 80여개 서비스에서 사용중
- 데드코드 : 실행되지 않는 코드 / 실행되더라도 어플리케이션 동작에 영향을 미치지 않는 코드
- 데드코드의 문제점
- 시스템을 이해/유지보수 하기 어렵게 만듦
- 성능/보안에 악영향을 줌
- 컴파일/테스트 속도를 지연시켜 전체 개발 속도를 저하
- Scavenger는
- 디버깅 또는 로그를 추가하지 않고 메서드 호출이 확인 가능
- 메서드 호출 기록을 수집하여 이를 시각화해 유저에게 보여줌
- Java agent 방식으로 손쉽게 사용 가능
- JVM 기반 언어(Java, Kotlin)만 지원
- Python은 현재 베타이고, 그외 다양한 언어 지원 예정