Synthesizing regular expressions from examples for introductory automata assignments

Mina Lee, Sunbeom So, Hakjoo Oh

Research output: Chapter in Book/Report/Conference proceedingConference contribution

22 Citations (Scopus)

Abstract

We present a method for synthesizing regular expressions for introductory automata assignments. Given a set of positive and negative examples, the method automatically synthesizes the simplest possible regular expression that accepts all the positive examples while rejecting all the negative examples. The key novelty is the search-based synthesis algorithm that leverages ideas from over-And under-Approximations to effectively prune out a large search space. We have implemented our technique in a tool and evaluated it with nontrivial benchmark problems that students often struggle with. The results show that our system can synthesize desired regular expressions in 6.7 seconds on the average, so that it can be interactively used by students to enhance their understanding of regular expressions.

Original languageEnglish
Title of host publicationGPCE 2016 - Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming
Subtitle of host publicationConcepts and Experiences, co-located with SPLASH 2016
EditorsIna Schaefer, Bernd Fischer
PublisherAssociation for Computing Machinery, Inc
Pages70-80
Number of pages11
ISBN (Electronic)9781450344463
DOIs
Publication statusPublished - 2016 Oct 20
Event15th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2016 - Amsterdam, Netherlands
Duration: 2016 Oct 312016 Nov 1

Publication series

NameGPCE 2016 - Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, co-located with SPLASH 2016

Conference

Conference15th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2016
Country/TerritoryNetherlands
CityAmsterdam
Period16/10/3116/11/1

Keywords

  • Program synthesis
  • Programming
  • Regular expression

ASJC Scopus subject areas

  • Computer Science Applications
  • Information Systems
  • Software

Fingerprint

Dive into the research topics of 'Synthesizing regular expressions from examples for introductory automata assignments'. Together they form a unique fingerprint.

Cite this