Discovering neglected conditions in software by mining dependence graphs

被引:45
作者
Chang, Ray-Yaung [1 ]
Podgurski, Andy [1 ]
Yang, Jiong [1 ]
机构
[1] Case Western Reserve Univ, Dept Elect Engn & Comp Sci, Cleveland, OH 44106 USA
关键词
automatic defect detection; mining software repositories; program dependence graphs; frequent item set mining; frequent subgraph mining;
D O I
10.1109/TSE.2008.24
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Neglected conditions are an important but difficult-to-find class of software defects. This paper presents a novel approach for revealing neglected conditions that integrates static program analysis and advanced data mining techniques to discover implicit conditional rules in a code base and to discover rule violations that indicate neglected conditions. The approach requires the user to indicate minimal constraints on the context of the rules to be sought, rather than specific rule templates. To permit this generality, rules are modeled as graph minors of enhanced procedure dependence graphs (EPDGs), in which control and data dependence edges are augmented by edges representing shared data dependences. A heuristic maximal frequent subgraph mining algorithm is used to extract candidate rules from EPDGs and a heuristic graph matching algorithm is used to identify rule violations. We also report the results of an empirical study in which the approach was applied to four open source projects (openssl, make, procmail, amaya). These results indicate that the approach is effective and reasonably efficient.
引用
收藏
页码:579 / 596
页数:18
相关论文
共 54 条
[31]  
LIU C, 2006, P 12 INT C KNOWL DIS
[32]  
Livshits B., 2005, P 10 EUR SOFTW ENG C, P296
[33]  
MCCLURE S, 2005, HACKING EXPOSED NETW
[34]  
MEYERS GJ, 1979, ART SOFTWARE TESTING
[35]   CONTROLLED EXPERIMENT IN PROGRAM TESTING AND CODE WALKTHROUGHS-INSPECTIONS [J].
MYERS, GJ .
COMMUNICATIONS OF THE ACM, 1978, 21 (09) :760-768
[36]  
NIST, 2008, NAT VULN DAT
[37]   Dex: A semantic-graph differencing tool for studying changes in large code bases [J].
Raghavan, S ;
Rohana, R ;
Leon, D ;
Podgurski, A ;
Augustine, V .
20TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2004, :188-197
[38]  
RAMANATHAN M, 2007, P ACM SIGPLAN INT C
[39]  
RAMANATHAN MK, 2007, P 29 INT C SOFTW ENG
[40]   Fault localization with nearest neighbor queries [J].
Renieris, M ;
Reiss, SP .
18TH IEEE INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2003, :30-39