Blogs (1) >>
ASE 2019
Sun 10 - Fri 15 November 2019 San Diego, California, United States
Wed 13 Nov 2019 11:20 - 11:40 at Cortez 1 - Testing and Program Analysis Chair(s): Jun Sun

As an important extension of symbolic execution (SE), probabilistic symbolic execution (PSE) computes execution probabilities of program paths. Using this information, PSE can prioritize path exploration strategies. To calculate the probability of a path PSE relies on solution counting approaches for the path constraint. The correctness of a solution counting approach depends on the methodology used to count solutions and whether a path constraint maintains a one-to-one relation with program input values. This work focuses on the latter aspect of the solution counting correctness for string constraints.

In general, maintaining a one-to-one relation is not always possible, especially in a presence of non-linear constraints. To deal with this issue, researchers that work on PSE for numerical domains either analyze programs with linear constraints, or develop novel techniques to handle solution counting of non-linear constraints. For the string domain, however, previous work on PSE mainly focuses on efficient and accurate solution counting for automata-based string models and has not investigated whether a one-to-one relationship between the strings encoded by automata and input string values is preserved. In this work we demonstrate that traditional automata-base string models fail to maintain one-to-one relations and propose to use the weighted automata model, which preserves the one-to-one relation between the path constraint it encodes and the input string values. We use this model to implement a string constraint solver and show its correctness on a set of non-trivial synthetic benchmarks. We also present an empirical evaluation of traditional and proposed automata solvers on real-world string constraints. The evaluations show that while being less efficient than traditional automata models, the weighted automata model maintains correct solution counts.

Wed 13 Nov

Displayed time zone: Tijuana, Baja California change

10:40 - 12:20
Testing and Program AnalysisResearch Papers / Demonstrations at Cortez 1
Chair(s): Jun Sun Singapore Management University, Singapore
10:40
20m
Talk
Regexes are Hard: Decision-making, Difficulties, and Risks in Programming Regular ExpressionsACM SIGSOFT Distinguished Paper Award
Research Papers
Louis G. Michael IV Virginia Tech, James Donohue University of Bradford, James C. Davis Virginia Tech, USA, Dongyoon Lee Stony Brook University, Francisco Servant Virginia Tech
Pre-print File Attached
11:00
20m
Talk
Testing Regex Generalizability And Its Implications: A Large-Scale Many-Language Measurement Study
Research Papers
James C. Davis Virginia Tech, USA, Daniel Moyer Virginia Tech, Ayaan M. Kazerouni Virginia Tech, Dongyoon Lee Stony Brook University
Pre-print File Attached
11:20
20m
Talk
Accurate String Constraints Solution Counting with Weighted Automata
Research Papers
Elena Sherman Boise State University, Andrew Harris Boise State University
11:40
20m
Talk
Subformula Caching for Model Counting and Quantitative Program Analysis
Research Papers
William Eiers University of California at Santa Barbara, USA, Seemanta Saha University of California Santa Barbara, Tegan Brennan University of California, Santa Barbara, Tevfik Bultan University of California, Santa Barbara
12:00
10m
Demonstration
SPrinter: A Static Checker for Finding Smart Pointer Errors in C++ Programs
Demonstrations
Xutong Ma Institute of Software, Chinese Academy of Sciences, Jiwei Yan Institute of Software, Chinese Academy of Sciences, Yaqi Li Institute of Software, Chinese Academy of Sciences, Jun Yan Institute of Software, Chinese Academy of Sciences, Jian Zhang Institute of Software, Chinese Academy of Sciences
12:10
10m
Demonstration
FPChecker: Detecting Floating-Point Exceptions in GPU Applications
Demonstrations
Ignacio Laguna Lawrence Livermore National Laboratory