90 likes | 440 Views
스패로우 : 소스 코드 분석기. 오학주 , 정영범 , 진민식 , 김덕환 , 황의권 , 박대준 0 , 이희종 , 공순호 , 이광근 {pronto,dreameye,msjin,dk,neo,pudrife 0 ,ihji,soon,kwang}@ropas.snu.ac.kr 프로그래밍 연구실 서울대학교 컴퓨터공학부. 소프트웨어가 실행되기 전에 우리가 바라는대로 실행될 지를 no core dump/segmentation fault no buffer overrun no memory leak
E N D
스패로우: 소스 코드 분석기 오학주,정영범,진민식,김덕환,황의권,박대준0,이희종,공순호,이광근 {pronto,dreameye,msjin,dk,neo,pudrife0,ihji,soon,kwang}@ropas.snu.ac.kr 프로그래밍 연구실 서울대학교 컴퓨터공학부
소프트웨어가 실행되기 전에 우리가 바라는대로 실행될 지를 no core dump/segmentation fault no buffer overrun no memory leak “x.s > 0 at line 321” “notNull(y) whenever x = 0” etc. 엄밀하게 미리 확인해주는 기술 우리에게 필요한 것
정적 프로그램 분석 프로그램의 실행 내용을 실행전에 자동으로 안전하게 어림잡는 일반적인 기술
테스트와 다른점 • 테스트는 SW를 실행시킬 수 있을 때 까지 기다려야 • 테스트는 찾고자 하는 오류를 모두 찾을 수 없음 • 정적 프로그램 분석기(static program analyzer)는 • SW를 실행시키지 않고 타겟 오류의 위치를 자동으로 찾아줌 • SW의 소스만 준비되면 됨
SW오류 검증 기술의 진화 정적분석기술 효용 및 성숙도 coverity polyspace Sparrow 테스트기술 1980s 2000s 2010s 1990s
Sparrow Beats Others for • deep call chain • function pointers • interprocedural pointer aliasing • pointer arithmetic • arbitrary recursion • infinite loops • C standard library