Ewolucyjne ulepszanie i naprawa istniejącego kodu

Genetic improvement and automated program repair · id geneticimprovement · aliases: genetic improvement, GI, automated program repair, APR, automatyczna naprawa programów, ulepszanie genetyczne

Przeszukiwanie, zwykle programowaniem genetycznym, przestrzeni edycji istniejącego kodu w celu naprawy błędów lub poprawy wydajności.

Search, usually by genetic programming, over edits to existing code to repair bugs or improve performance.

In one sentence

Program bierze istniejący kod, wprowadza w nim drobne zmiany i zachowuje te, po których kod naprawia błąd albo działa szybciej.

Software takes existing code, makes small edits and keeps those that fix a bug or make it run faster.

Problem it solves

Naprawianie błędów i przyspieszanie dużych programów zjada mnóstwo czasu programistów, a zgłoszeń przybywa szybciej niż rąk do pracy.

Fixing bugs and speeding up large programs eats huge amounts of developer time, and reports pile up faster than people can handle.

What it does

Zamiast pisać od zera, przestawia, usuwa i kopiuje gotowe linijki z tego samego programu, a testy rozstrzygają, która wersja jest lepsza.

Rather than writing from scratch, it moves, deletes and copies existing lines from the same program, and tests decide which version wins.

Everyday example

Rano programista znajduje propozycję poprawki: nocny proces wypróbował setki drobnych zmian i jedna przeszła wszystkie testy, łącznie z tym, który wcześniej padał.

In the morning a developer finds a suggested fix: an overnight job tried hundreds of small edits, and one passed every test, including the one that failed.

This concerns you if you…

Sources