[연구소식] 차수영 교수, ICSE 2023 논문 게재 승인
- 성균관대 SW중심대학사업단
- 조회수440
- 2023-01-31
소프트웨어학과 차수영 교수(공동교신)의 논문이 소프트웨어 공학 분야의 최상위 국제 학술대회인 ICSE 2023 (The IEEE/ACM International Conference on Software Engineering)에 게재 승인되었습니다. 본 논문 “Learning Seed-Adaptive Mutation Strategies for Greybox Fuzzing”은 2023년 5월 호주 멜버른에서 발표될 예정입니다.
본 논문은 그레이-박스 퍼징(Grey-box Fuzzing)의 성능(예: 오류 검출 능력)에 큰 영향을 주는 ‘변이 전략(mutation strategy)’을 시드 입력에 따라 적응적으로 변화하는 기술 ‘SEAMFUZZ’을 제안하였습니다. 이를 위해, 본 논문은 퍼징을 수행하는 동안 생성되는 데이터를 기반으로 각 시드 입력에 최적화된 변이 전략을 학습하는 ‘Customized Thompson Sampling’ 알고리즘을 제안하였습니다. 그 결과, 본 연구는 다양한 벤치마크 프로그램들에서 기존 최신 기술들보다 더 높은 코드 커버리지와 많은 오류들을 검출하는데 성공했습니다.
[논문 정보]
- “Learning Seed-Adaptive Mutation Strategies for Greybox Fuzzing”
- Myungho Lee, Sooyoung Cha, and Hakjoo Oh
- The IEEE/ACM International Conference on Software Engineering (ICSE 2023)
- Abstract:
In this paper, we present a technique for learning seed-adaptive mutation strategies for fuzzers. The performance of mutation-based fuzzers highly depends on the mutation strategy that specifies the probability distribution of selecting mutation methods. As a result, developing an effective mutation strategy has received much attention recently, and program-adaptive techniques, which observe the behavior of the target program to learn the optimized mutation strategy per program, have become a trending approach to achieve better performance. They, however, still have a major limitation; they disregard the impacts of different characteristics of seed inputs which can lead to explore deeper program locations. To address this limitation, we present SEAMFUZZ, a novel fuzzing technique that automatically captures the characteristics of individual seed inputs and applies different mutation strategies for different seed inputs. By capturing the syntactic and semantic similarities between seed inputs, SEAMFUZZ clusters them into proper groups and learns effective mutation strategies tailored for each seed cluster by using the customized Thompson sampling algorithm. Experimental results show that SEAMFUZZ improves both the path-discovering and bug-finding abilities of state-of-the-art fuzzers on real-world programs.