Browse > Article

Refinement for Loops in Buffer-Overrun Abstract Interpretation  

Oh, Hak-Joo (서울대학교 컴퓨터공학과)
Yi, Kwang-Keun (서울대학교 컴퓨터공학과)
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.
Keywords
Abstract Interpretation; False alarms; Static analysis; static bug detector;
Citations & Related Records
연도 인용수 순위
  • Reference
1 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
2 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
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 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
5 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