Sound Non-Statistical Clustering of Static Analysis Alarms

被引:17
作者
Lee, Woosuk [1 ,4 ]
Lee, Wonchan [2 ]
Kang, Dongok [1 ]
Heo, Kihong [1 ]
Oh, Hakjoo [3 ]
Yi, Kwangkeun [1 ]
机构
[1] Seoul Natl Univ, Room 312-2,Bldg 302,1 Kwanak Ro, Seoul 151744, South Korea
[2] Stanford Univ, Stanford, CA 94305 USA
[3] Korea Univ, Coll Informat, Room 616C,Sci Lib Bldg,Anam Dong 5Ga, Seoul 136713, South Korea
[4] 416 Gates,353 Serra Mall, Stanford, CA 94305 USA
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 2017年 / 39卷 / 04期
基金
新加坡国家研究基金会;
关键词
Static analysis; abstract interpretation; false alarms;
D O I
10.1145/3095021
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present a sound method for clustering alarms from static analyzers. Our method clusters alarms by discovering sound dependencies between them such that if the dominant alarms of a cluster turns out to be false, all the other alarms in the same cluster are guaranteed to be false. We have implemented our clustering algorithm on top of a realistic buffer-overflow analyzer and proved that our method reduces 45% of alarm reports. Our framework is applicable to any abstract interpretation-based static analysis and orthogonal to abstraction refinements and statistical ranking schemes.
引用
收藏
页数:35
相关论文
共 34 条
[1]  
[Anonymous], PROGRAMMING LANGUAGE
[2]  
Balakrishnan G, 2008, LECT NOTES COMPUT SC, V5079, P238
[3]   From symptom to cause: Localizing errors in counterexample traces [J].
Ball, T ;
Naik, M ;
Rajamani, SK .
ACM SIGPLAN NOTICES, 2003, 38 (01) :97-105
[4]   Explaining type errors in polymorphic languages [J].
Beaven, Mike ;
Stansifer, Ryan .
ACM letters on programming languages and systems, 1993, 2 (1-4) :17-30
[5]   Thresher: Precise Refutations for Heap Reachability [J].
Blackshear, Sam ;
Chang, Bor-Yuh Evan ;
Sridharan, Manu .
ACM SIGPLAN NOTICES, 2013, 48 (06) :275-286
[6]   A static analyzer for large safety-critical software [J].
Blanchet, B ;
Cousot, P ;
Cousot, R ;
Feret, J ;
Mauborgne, L ;
Miné, A ;
Monniaux, D ;
Rival, X .
ACM SIGPLAN NOTICES, 2003, 38 (05) :196-207
[7]   Compositional explanation of types and algorithmic debugging of type errors [J].
Chitil, O .
ACM SIGPLAN NOTICES, 2001, 36 (10) :193-204
[8]  
Cifuentes Cristina, 2009, P 2 INT WORKSHOP DEF, P16, DOI DOI 10.1145/1555860.1555866
[9]   ABSTRACT INTERPRETATION AND APPLICATION TO LOGIC PROGRAMS [J].
COUSOT, P ;
COUSOT, R .
JOURNAL OF LOGIC PROGRAMMING, 1992, 13 (2-3) :103-179
[10]  
Cousot P, 2007, LECT NOTES COMPUT SC, V4634, P333