Automata-Based Model Counting for String Constraints

被引:61
作者
Aydin, Abdulbaki [1 ]
Bang, Lucas [1 ]
Bultan, Tevfik [1 ]
机构
[1] Univ Calif Santa Barbara, Santa Barbara, CA 93106 USA
来源
COMPUTER AIDED VERIFICATION, PT I | 2015年 / 9206卷
关键词
STATIC ANALYSIS;
D O I
10.1007/978-3-319-21690-4_15
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Most common vulnerabilities in Web applications are due to string manipulation errors in input validation and sanitization code. String constraint solvers are essential components of program analysis techniques for detecting and repairing vulnerabilities that are due to string manipulation errors. For quantitative and probabilistic program analyses, checking the satisfiability of a constraint is not sufficient, and it is necessary to count the number of solutions. In this paper, we present a constraint solver that, given a string constraint, (1) constructs an automaton that accepts all solutions that satisfy the constraint, (2) generates a function that, given a length bound, gives the total number of solutions within that bound. Our approach relies on the observation that, using an automata-based constraint representation, model counting reduces to path counting, which can be solved precisely. We demonstrate the effectiveness of our approach on a large set of string constraints extracted from real-world web applications.
引用
收藏
页码:255 / 272
页数:18
相关论文
共 40 条
[1]  
Abdulla PA, 2014, LECT NOTES COMPUT SC, V8559, P150, DOI 10.1007/978-3-319-08867-9_10
[2]  
Alkhalaf M., 2014, P 2014 INT S SOFTWAR, P225
[3]  
Alkhalaf M, 2012, PROC INT CONF SOFTW, P947, DOI 10.1109/ICSE.2012.6227124
[4]  
Bartzis C., 2003, Int. J. Found. Comput. Sci, V14, P605
[5]  
Biggs N.L., 1993, Algebraic graph theory
[6]  
Bjorner N, 2009, LECT NOTES COMPUT SC, V5505, P307, DOI 10.1007/978-3-642-00768-2_27
[7]  
Borges M., 2014, P ACM SIGPLAN C PROG
[8]  
BRICS, MONA PROJ
[9]  
Christensen AS, 2003, LECT NOTES COMPUT SC, V2694, P1
[10]   A static analysis for quantifying information flow in a simple imperative language [J].
Clark, David ;
Hunt, Sebastian ;
Malacaria, Pasquale .
JOURNAL OF COMPUTER SECURITY, 2007, 15 (03) :321-371