오학주 교수가 지도하는 소프트웨어 분석 연구실은 ICSE (International Conference on Software Engineering) 2023에 총 3편의 논문을 발표한다.

ICSE는 소프트웨어 공학 분야 세계 최고 권위의 학술대회인데, 여기에 3편 이상의 정규 논문을 한 해에 발표하는 것은 국내 최초 사례에 해당한다.


소프트웨어의 오류 및 보안 취약점 탐지 성능을 대폭 향상시킨 퍼징 기술 연구


첫번째 연구는 이명호 박사과정 학생, 차수영 성균관대 교수와 함께 진행한 연구로 소프트웨어 보안 취약점을 탐지하는데 가장 널리 활용되고 있는 퍼징 기술의 성능을 향상시킨 연구이다. 퍼징은 소프트웨어의 입력을 무작위로 생성하여 대상 소프트웨어의 행동을 테스팅하는 기술인데, 퍼징 기술의 성능은 기존 입력을 효과적으로 변형시키는 변이 연산자의 성능에 의존한다. 본 연구에서는 프로그램 입력 별로 상이한 변이 연산자를 자동으로 학습하는 기술을 제안하였고, 이를 적용하면 소프트웨어의 오류 및 보안 취약점 탐지 성능을 대폭 향상시킬 수 있음을 보였다.


SMT 풀이기의 버그를 자동 탐지하는 새로운 기술


두번째 연구는 김종욱 석사과정 학생, 소순범 박사와 함께 진행한 연구로 SMT 풀이기(Satisfiability Module Theories Solver)의 버그를 자동으로 탐지하는 새로운 기술을 선보인 연구이다. SMT 풀이기는 특정 도메인의 방정식을 자동으로 풀어주는 소프트웨어로써 다양한 소프트웨어 공학 도구들에서 활발하게 사용되는 도구이다. 많은 소프트웨어 공학 도구들이 최종적으로 SMT 풀이기에 의존하므로, SMT 풀이기에 존재하는 버그는 매우 치명적이다. 본 연구에서는 SMT 풀이기의 버그를 효율적으로 찾기 위한 새로운 방식을 제안하였고 이를 통해 널리 활용되는 SMT 도구들에서 다양한 오류를 검출할 수 있음을 보였다. 


Meta에서 개발중인 정적 분석기 Infer의 오류 탐지 성능 향상 연구


세번째 연구는 Meta의 고윤석 박사와 함께 진행한 연구로 Meta에서 개발하고 있는 정적 분석기인 Infer의 오류 탐지 성능을 획기적으로 향상시킨 연구이다. Infer와 같은 정적 분석 기반의 오류 탐지 도구들은 프로그램의 상태를 매우 정교하게 추적하는 대신에 모든 발생 가능한 상태를 추적하지 않는다. 따라서 어떤 상태를 추적할 것인지를 결정하는 상태 선별 휴리스틱의 성능이 오류 탐지 성능에 결정적으로 영향을 주게 되는데, 본 연구에서는 이러한 상태 선별 휴리스틱을 자동으로 학습 및 생성하는 기술을 제안하였다. 또한 제안 기술을 정적 분석기 Infer에 적용하여 오류 탐지 성능을 기존과 비교되지 않는 수준으로 대폭 향상시킬 수 있음을 보였다.