A Decision Procedure for Subset Constraints over Regular Languages

被引:29
|
作者
Hooimeijer, Pieter [1 ]
Weimer, Westley [1 ]
机构
[1] Univ Virginia, Charlottesville, VA 22903 USA
关键词
D O I
10.1145/1542476.1542498
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Reasoning about string variables, in particular program inputs, is an important aspect of many program analyses and testing frameworks. Program inputs invariably arrive as strings, and are often manipulated using high-level string operations such as equality checks, regular expression matching, and string concatenation. It is difficult to reason about these operations because they are not well-integrated into current constraint solvers. We present a decision procedure that solves systems of equations over regular language variables. Given such a system of constraints, our algorithm finds satisfying assignments for the variables in the system. We define this problem formally and render a mechanized correctness proof of the core of the algorithm. We evaluate its scalability and practical utility by applying it to the problem of automatically finding inputs that cause SQL injection vulnerabilities.
引用
收藏
页码:188 / 198
页数:11
相关论文
共 50 条
  • [1] A Decision Procedure for Subset Constraints over Regular Languages
    Hooimeijer, Pieter
    Weimer, Westley
    ACM SIGPLAN NOTICES, 2009, 44 (06) : 188 - 198
  • [2] A Decision Procedure for Regular Membership and Length Constraints over Unbounded Strings
    Liang, Tianyi
    Tsiskaridze, Nestan
    Reynolds, Andrew
    Tinelli, Cesare
    Barrett, Clark
    FRONTIERS OF COMBINING SYSTEMS, FROCOS 2015, 2015, 9322 : 135 - 150
  • [3] A decision procedure for reflexive regular splicing languages
    Bonizzoni, Paola
    Mauri, Giancarlo
    DEVELOPMENTS IN LANGUAGE THEORY, PROCEEDINGS, 2006, 4036 : 315 - 326
  • [4] A decision procedure for string constraints with string/integer conversion and flat regular constraints
    Hao Wu
    Yu-Fang Chen
    Zhilin Wu
    Bican Xia
    Naijun Zhan
    Acta Informatica, 2024, 61 : 23 - 52
  • [5] A decision procedure for string constraints with string/integer conversion and flat regular constraints
    Wu, Hao
    Chen, Yu-Fang
    Wu, Zhilin
    Xia, Bican
    Zhan, Naijun
    ACTA INFORMATICA, 2024, 61 (01) : 23 - 52
  • [7] Algebraic constraints, automata, and regular languages
    Khoussainov, Bakhadyr
    Electronic Notes in Theoretical Computer Science, 2000, 31 : 104 - 117
  • [8] A Decision Procedure for String Logic with Quadratic Equations, Regular Expressions and Length Constraints
    Quang Loc Le
    He, Mengda
    PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2018, 2018, 11275 : 350 - 372
  • [9] Decision trees for regular factorial languages
    Moshkov, Mikhail
    ARRAY, 2022, 15
  • [10] The Commutative Closure of Shuffle Languages over Group Languages is Regular
    Hoffmann, Stefan
    IMPLEMENTATION AND APPLICATION OF AUTOMATA (CIAA 2021), 2021, 12803 : 53 - 64