Projects per year
Abstract
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.
Original language | English |
---|---|
Title of host publication | PLDI'19 |
Subtitle of host publication | Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation |
Publisher | ACM |
Pages | 425-438 |
Number of pages | 14 |
ISBN (Electronic) | 978-1-4503-6712-7/19/06 |
DOIs | |
Publication status | Published - 8 Jun 2019 |
Event | 40th ACM SIGPLAN Conference on Programming Language Design and Implementation - Phoenix Convention Center, Phoenix, United States Duration: 24 Jun 2019 → … https://pldi19.sigplan.org/home |
Conference
Conference | 40th ACM SIGPLAN Conference on Programming Language Design and Implementation |
---|---|
Abbreviated title | PLDI'19 |
Country/Territory | United States |
City | Phoenix |
Period | 24/06/19 → … |
Internet address |
Projects
- 1 Finished
-
Centre for Doctoral Training in Cyber Security
Cid, C. (PI), Crampton, J. (CoI), Martin, K. M. (CoI) & Paterson, K. (CoI)
Eng & Phys Sci Res Council EPSRC
1/04/13 → 31/12/19
Project: Research