Counterexample-Driven Genetic Programming: Heuristic Program Synthesis from Formal Specifications

Iwo Błądek1, Krzysztof Krawiec2, Jerry Swan3

  • 1Institute of Computing Science, Poznan University of Technology, Poznań, 60-965, Poland ibladek@cs.put.poznan.pl.

Summary

Counterexample-Based Genetic Programming (CDGP) synthesizes provably correct programs using formal specifications and Satisfiability Modulo Theory (SMT) solvers. This enhanced heuristic reliably generates correct code for arithmetic and string manipulation tasks.

Related Concept Videos

Formal Charges02:42

Formal Charges

In some cases, there are seemingly more than one valid Lewis structures for molecules and polyatomic ions. The concept of formal charges can be used to help predict the most appropriate Lewis structure when more than one reasonable structure exists.
40.7K
The Availability Heuristic01:08

The Availability Heuristic

A heuristic is a general problem-solving framework (Tversky & Kahneman, 1974). You can think of these as mental shortcuts that are used to solve problems. Different types of heuristics are used in different types of situations, and the impulse to use a heuristic occurs when one of five conditions is met (Pratkanis, 1989):
7.1K
The Representativeness Heuristic02:13

The Representativeness Heuristic

The representative heuristic describes a biased way of thinking, in which you unintentionally stereotype someone or something. For example, you may assume that your professors spend their free time reading books and engaging in intellectual conversation, because the idea of them spending their time playing volleyball or visiting an amusement park does not fit in with your stereotypes of professors.
16.8K
The Anchoring-and-Adjustment Heuristic01:25

The Anchoring-and-Adjustment Heuristic

In order to make good decisions, we use our knowledge and our reasoning. Often, this knowledge and reasoning is sound and solid. However, sometimes, we are swayed by biases or by others manipulating a situation. For example, let’s say you and three friends wanted to rent a house and had a combined target budget of $1,600. The realtor shows you only very run-down houses for $1,600 and then shows you a very nice house for $2,000. Might you ask each person to pay more in rent to get the...
7.8K
Heuristics01:21

Heuristics

Heuristics are problem-solving strategies that use mental shortcuts to simplify decision-making. Unlike algorithms, which must be followed precisely to achieve a correct result, heuristics offer a general problem-solving framework. They save time and energy but can sometimes lead to less rational decisions.
People often rely on heuristics when faced with an overload of information, limited time, low importance of the decision, limited information, or when a heuristic readily comes to mind. For...
733
Lewis Structures and Formal Charges02:19

Lewis Structures and Formal Charges

Lewis symbols can be used to indicate the formation of covalent bonds, which are shown in Lewis structures—drawings that describe the bonding in molecules and polyatomic ions. The periodic table can be used to predict the number of valence electrons in an atom and the number of bonds that will be formed to reach an octet. Group 18 elements, such as argon and helium, have filled electron configurations and thus rarely participate in chemical bonding. However, atoms from group 17, such as...
22.7K