Refinement for Loops in Buffer-Overrun Abstract Interpretation

요약해석을 이용한 버퍼오버런 분석에서 루프 분석결과의 정교화

  • 오학주 (서울대학교 컴퓨터공학과) ;
  • 이광근 (서울대학교 컴퓨터공학과)
  • Published : 2008.02.15

Abstract

We present a simple and effective method to reduce loop-related false alarms raised by buffer-overrun static program analyzer. Interval domain buffer-overrun analyzer raise many false alarms in analyzing programs that frequently use loops and arrays. Firstly, we classified patterns of loop-related false alarms for loop-intensive programs, such as embedded programs or mathematical libraries. After that we designed a simple and effective false alarm refiner, specialized for the loop-related false alarms we classified. After the normal analysis of program in which alarms considered as false. We implemented this method on our buffer-overrun analyzer with the result that our refinement method decreased the number of false alarms by 32% of total amount the analyzer reported.

버퍼오버런 분석기가 루프안에서 발생시키는 허위경보를 간편하고도 효율적으로 줄이는 방법과 경험을 소개한다. 버퍼오버런 분석기는 루프와 배열을 많이 사용하는 프로그램을 분석할 때 많은 허위경보를 발생시킨다. 우리는 먼저 루프를 많이 사용하는 프로그램인 임베디드 프로그램과 암호화 관련 프로그램들에서 발생하는 허위경보를 조사하여 허위경보를 일으키는 루프의 패턴을 조사했다. 그 다음에 그 루프에 특화된 간단하고 효율적인 재분석기를 고안하였다. 우리가 제안하는 재분석기는 분석기가 분석을 끝낸 후 내 놓는 분석결과를 보고 재분석할 목표가 되는 루프만을 찾아서 초벌분석보다 더 정교한 분석을 하여 허위경보를 안전하게 제거한다. 버퍼오버런 분석기인 아이락에 구현하여 실험해본 결과 전체 루프 관련 허위경보 중 32% 가량이 제거되었다.

Keywords

References

  1. Jaeho Shin, Jaehwang Kim, Hakjoo Oh, Yikwon Hwang, and Kwangkeun Yi. Airac5: Array index range analyzer for c. http://ropas.snu.ac.kr/2005/ airac5
  2. Patrick Cousot and Radhia Cousot. Abstract Interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In POPL, pages 238-252, January 1977
  3. Mine, A. A new numerical abstract domain based on difference-bound matrices. In PADO II, vol. 2053 of LNCS, Springer-Verlag, pp. 155-172
  4. Bruno Blanchet, Patrick Cousot, Radia Cousot, Jerome Feret, Laurent Mauborgne, Antoine Mine, David Monniaux, and Xavier Rival. A static analyzer for large safety-critical software. In PLDI '03, pages 196-207, New York, NY, USA, 2003. ACM Press
  5. Yungbum Jung, Jaehwang Kim, Jaeho Shin, and Kwnagkeun Yi. Taming false alarms from a domain-unaware C analyzer by a Bayesian statistical post analysis. In SAS 2005, volume 3672 of Lecture Notes in Computer Science, pages 203- 217. Springer 2005