A Search for Improved Performance in Regular Expressions

04/13/2017
by   Brendan Cody-Kenny, et al.
0

The primary aim of automated performance improvement is to reduce the running time of programs while maintaining (or improving on) functionality. In this paper, Genetic Programming is used to find performance improvements in regular expressions for an array of target programs, representing the first application of automated software improvement for run-time performance in the Regular Expression language. This particular problem is interesting as there may be many possible alternative regular expressions which perform the same task while exhibiting subtle differences in performance. A benchmark suite of candidate regular expressions is proposed for improvement. We show that the application of Genetic Programming techniques can result in performance improvements in all cases. As we start evolution from a known good regular expression, diversity is critical in escaping the local optima of the seed expression. In order to understand diversity during evolution we compare an initial population consisting of only seed programs with a population initialised using a combination of a single seed individual with individuals generated using PI Grow and Ramped-half-and-half initialisation mechanisms.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/04/2020

Data-Driven Regular Expressions Evolution for Medical Text Classification Using Genetic Programming

In medical fields, text classification is one of the most important task...
research
08/04/2022

MAGPIE: Machine Automated General Performance Improvement via Evolution of Software

Performance is one of the most important qualities of software. Several ...
research
11/15/2022

Improving AFL++ CmpLog: Tackling the bottlenecks

The performance of the AFL++ CmpLog feature varies considerably for spec...
research
10/10/2018

Sound Regular Expression Semantics for Dynamic Symbolic Execution of JavaScript

Existing support for regular expressions in automated test generation or...
research
09/29/2021

Multi Expression Programming – an in-depth description

Multi Expression Programming (MEP) is a Genetic Programming variant that...
research
11/30/2022

Genetic Programming with Local Scoring

We present new techniques for synthesizing programs through sequences of...
research
04/06/2023

GI Software with fewer Data Cache Misses

By their very name caches are often overlooked and yet play a vital role...

Please sign up or login with your details

Forgot password? Click here to reset