6533b858fe1ef96bd12b56b9

RESEARCH PRODUCT

Challenges of Program Synthesis with Grammatical Evolution

Franz RothlaufDominik Sobania

subject

Theoretical computer scienceSource lines of codebusiness.industryComputer scienceSoftware developmentGenetic programming0102 computer and information sciences02 engineering and technology01 natural sciencesSoftware metric010201 computation theory & mathematicsGrammatical evolutionMetric (mathematics)0202 electrical engineering electronic engineering information engineering020201 artificial intelligence & image processingbusinessAbstract syntax treeProgram synthesis

description

Program synthesis is an emerging research topic in the field of EC with the potential to improve real-world software development. Grammar-guided approaches like GE are suitable for program synthesis as they can express common programming languages with their required properties. This work uses common software metrics (lines of code, McCabe metric, size and depth of the abstract syntax tree) for an analysis of GE’s search behavior and the resulting problem structure. We find that GE is not able to solve program synthesis problems, where correct solutions have higher values of the McCabe metric (which means they require conditions or loops). Since small mutations of high-quality solutions strongly decrease a solution’s fitness and make a high percentage of the solutions non-executable, the resulting problem constitutes a needle-in-a-haystack problem. To us, one of the major challenges of future GP research is to come up with better and more adequate fitness functions and problem specifications to turn the current needle-in-a-haystack problems into problems that can be solved by guided search.

https://doi.org/10.1007/978-3-030-44094-7_14