mrseongminkim / AlphaRegexPublic

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AlphaRegexPublic

AlphaRegex : Synthesizer for regular expressions

AlphaRegex is a synthesizer that instantly outputs regular expressions from examples for introductory automata classes, This work was conducted under the guidance of Prof.Hakjoo Oh (http://prl.korea.ac.kr) in Korea University.

Paper

AlphaRegex performs over- and under approximations of partial regular expressions to accelerate the speed. For the more details, please refer to our GPCE '16 paper Synthesizing Regular Expressions from Examples for Introductory Automata Assignments. Please cite our paper if you find our work is intriguing.

How to build

After you clone this project, follow the steps below.

  • Activate the build script: chmod +x build.
  • Complie the whole files using the script: ./build.

How to use

To use AlphaRegex, you need to provide:

  • Positive examples
  • Negative examples

Then, AlphaRegex quickly derives a regular expression that accepts all the positive examples and rejects all the negative examples. For example, type ./main.native -input benchmakrs/no1_start_with_0, then AlphaRegex instantly generate the solution 0(0+1)^*. In the benchmarks directory, there are benchmark examples that we used for evaluation and you can easily check how positive/negative examples should be given to AlphaRegex.

Contact

AlphaRegex is maintained by Programming Research Laboratory in Korea University (http://prl.korea.ac.kr). If you have any questions, feel free to email us: hakjoo_oh@korea.ac.kr, sunbeom_so@korea.ac.kr

About

License:MIT License


Languages

Language:OCaml 97.5%Language:Standard ML 1.4%Language:Shell 1.1%