String Constraints with Concatenation and Transducers Solved Efficiently (Technical Report)
Lukas Holik, Petr Janku, Anthony W. Lin, Philipp R\"ummer, Tomas, Vojnar

TL;DR
This paper introduces a novel string constraint solver that efficiently reasons about concatenation and finite transductions, with guarantees of completeness and termination for key fragments, aiding in security analysis like XSS detection.
Contribution
It presents the first solver capable of handling both concatenation and transductions with completeness guarantees, using succinct automata and model checking techniques.
Findings
Solver effectively handles constraints involving concatenation and transductions.
Demonstrated efficiency on benchmarks related to XSS vulnerabilities.
Achieves exponential space savings with automata-based representations.
Abstract
String analysis is the problem of reasoning about how strings are manipulated by a program. It has numerous applications including automatic detection of cross-site scripting (XSS). A popular string analysis technique includes symbolic executions, which at their core use string (constraint) solvers. Such solvers typically reason about constraints expressed in theories over strings with the concatenation operator as an atomic constraint. In recent years, researchers started to recognise the importance of incorporating the replace-all operator and finite transductions in the theories of strings with concatenation. Such string operations are typically crucial for reasoning about XSS vulnerabilities in web applications, especially for modelling sanitisation functions and implicit browser transductions (e.g. innerHTML). In this paper, we provide the first string solver that can reason…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsWeb Application Security Vulnerabilities · Software Testing and Debugging Techniques · Network Packet Processing and Optimization
