We introduce RFixer, a tool for repairing complex regular expressions using examples and only consider regular expressions without non-regular operators (e.g., negative lookahead). Given an incorrect regular expression and sets of positive and negative examples, RFixer synthesizes the closest regular expression to the original one that is consistent with the examples. Automatically repairing regular expressions requires exploring a large search space because practical regular expressions: i) are large, ii) operate over very large alphabets—e.g., UTF-16 and ASCII—and iii) employ complex constructs—e.g., character classes and numerical quantifiers. RFixer's repair algorithm achieves scalability by taking advantage of structural properties of regular expressions to effectively prune the search space, and it employs satisfiability modulo theory solvers to efficiently and symbolically explore the sets of possible character classes and numerical quantifiers. RFixer could successfully compute minimal repairs for regular expressions collected from a variety of sources, whereas existing tools either failed to produce any repair or produced overly complex repairs.
Fri 25 Oct Times are displayed in time zone: Beirut change
11:00 - 12:30: Repair & TransformationOOPSLA at Templars Chair(s): Bor-Yuh Evan ChangUniversity of Colorado Boulder | Amazon | |||
11:00 - 11:22 Talk | Detecting Nondeterministic Payment Bugs in Ethereum Smart Contracts OOPSLA Shuai WangHong Kong University of Science and Technology, Chengyu ZhangEast China Normal University, Zhendong SuETH Zurich DOI | ||
11:22 - 11:45 Talk | Automatic Repair of Regular Expressions OOPSLA Rong PanUniversity of Texas at Austin, Qinheping HuUniversity of Wisconsin, Madison, Gaowei XuUniversity of Wisconsin Madison, Loris D'AntoniUniversity of Wisconsin Madison DOI Pre-print | ||
11:45 - 12:07 Talk | Getafix: Learning to Fix Bugs Automatically OOPSLA Johannes BaderFacebook, Andrew ScottFacebook, Michael PradelUniversity of Stuttgart, Satish ChandraFacebook DOI Pre-print | ||
12:07 - 12:30 Talk | IntelliMerge: A Refactoring-Aware Software Merging Technique OOPSLA Bo ShenPeking University, Wei ZhangPeking University, Haiyan ZhaoPeking University, Guangtai LiangHuawei Technologies Co. Ltd, Zhi JinPeking University, Qianxiang WangHuawei Technologies Co. Ltd DOI |