Tue 25 Jun 2019 08:50 - 09:10 at 229AB - Bug Finding & Testing I Chair(s): Cindy Rubio-Gonzalez

Support for regular expressions in symbolic execution-based tools for test generation and bug finding is insufficient. Common aspects of mainstream regular expression engines, such as backreferences or greedy matching, are ignored or imprecisely approximated, leading to poor test coverage or missed bugs. In this paper, we present a model for the complete regular expression language of ECMAScript 2015 (ES6), which is sound for dynamic symbolic execution of the test and exec functions. We model regular expression operations using string constraints and classical regular expressions and use a refinement scheme to address the problem of matching precedence and greediness. We implemented our model in ExpoSE, a dynamic symbolic execution engine for JavaScript, and evaluated it on over 1,000 Node.js packages containing regular expressions, demonstrating that the strategy is effective and can significantly increase the number of successful regular expression queries and therefore boost coverage.

Tue 25 Jun

08:30 - 09:30: PLDI Research Papers - Bug Finding & Testing I at 229AB
Chair(s): Cindy Rubio-GonzalezUniversity of California, Davis
pldi-2019-papers08:30 - 08:50
William T. HallahanYale University, Anton XueYale University, Maxwell Troy BlandUniversity of California at San Diego, USA, Ranjit JhalaUniversity of California, San Diego, Ruzica PiskacYale University, USA
Media Attached
pldi-2019-papers08:50 - 09:10
Blake Loring, Duncan MitchellRoyal Holloway, University of London, Johannes KinderBundeswehr University Munich
Media Attached
pldi-2019-papers09:10 - 09:30
Zhoulai FuIT University of Copenhagen, Denmark, Zhendong SuETH Zurich