An Approach to Static-Dynamic Software Analysis

被引:1
作者
Gonzalez-de-Aledo, Pablo [1 ]
Sanchez, Pablo [1 ]
Huuck, Ralf [2 ,3 ]
机构
[1] Univ Cantabria, E-39005 Santander, Spain
[2] NICTA, Sydney, NSW, Australia
[3] UNSW, Sydney, NSW, Australia
来源
FORMAL TECHNIQUES FOR SAFETY-CRITICAL SYSTEMS, (FTSCS 2015) | 2016年 / 596卷
关键词
GENERATION;
D O I
10.1007/978-3-319-29510-7_13
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Safety-critical software in industry is typically subjected to both dynamic testing as well as static program analysis. However, while testing is expensive to scale, static analysis is prone to false positives and/or false negatives. In this work we propose a solution based on a combination of static analysis to zoom into potential bug candidates in large code bases and symbolic execution to confirm these bugs and create concrete witnesses. Our proposed approach is intended to maintain scalability while improving precision and as such remedy the shortcomings of each individual solution. Moreover, we developed the SEEKFAULT tool that creates local symbolic execution targets from static analysis bug candidates and evaluate its effectiveness on the SV-COMP loop benchmarks. We show that a conservative tuning can achieve a 98% detecting rate in that benchmark while at the same time reducing false positive rates by around 50% compared to a singular static analysis approach.
引用
收藏
页码:225 / 240
页数:16
相关论文
共 26 条
[1]  
[Anonymous], 2011, USENIX SEC S SAN FRA
[2]   A Few Billion Lines of Code Later Using Static Analysis to Find Bugs in the Real World [J].
Bessey, Al ;
Block, Ken ;
Chelf, Ben ;
Chou, Andy ;
Fulton, Bryan ;
Hallem, Seth ;
Henri-Gros, Charles ;
Kamsky, Asya ;
McPeak, Scott ;
Engler, Dawson .
COMMUNICATIONS OF THE ACM, 2010, 53 (02) :66-75
[3]   High Performance Static Analysis for Industry [J].
Bradley, Mark ;
Cassez, Franck ;
Fehnker, Ansgar ;
Given-Wilson, Thomas ;
Huuck, Ralf .
ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2012, 289 :3-14
[4]  
Burnim Jacob, 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering, P443, DOI 10.1109/ASE.2008.69
[5]  
Cadar C., 2008, Proceedings of the 8th USENIX conference on Operating systems design and implementation, OSDI'08, (USA), P209
[6]   Symbolic Execution for Software Testing: Three Decades Later [J].
Cadar, Cristian ;
Sen, Koushik .
COMMUNICATIONS OF THE ACM, 2013, 56 (02) :82-90
[7]  
Cadar C, 2011, 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), P1066, DOI 10.1145/1985793.1985995
[8]  
Clarke L. A., 1976, IEEE Transactions on Software Engineering, VSE-2, P215, DOI 10.1109/TSE.1976.233817
[9]   A survey of automated techniques for formal software verification [J].
D'Silva, Vijay ;
Kroening, Daniel ;
Weissenbacher, Georg .
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2008, 27 (07) :1165-1178
[10]   An overview on test generation from functional requirements [J].
Escalona, M. J. ;
Gutierrez, J. J. ;
Mejias, M. ;
Aragon, G. ;
Ramos, I. ;
Torres, J. ;
Dominguez, F. J. .
JOURNAL OF SYSTEMS AND SOFTWARE, 2011, 84 (08) :1379-1393