All publications

Checkers: Multi-modal Darwinian API Optimisation

2020·ICSE 2020
call sitecollection.sort(...)lib Alib Blib Cfitnessend-to-end runsurviving APIalternative APIs as alleles under one fitness discipline

Figure 1: Evolving API usage. Call-site alleles swap between candidate libraries and patterns (a); fitness measured end-to-end decides which usage survives (b).

Most optimization edits code in place; Checkers evolves which APIs the code calls. Treating alternative library calls and usage patterns as interchangeable alleles, it searches across modalities — different libraries, different call patterns, different configurations — under the same Darwinian measure-and-select loop.

The result extends genetic improvement beyond a program's own statements to its relationship with its dependencies, widening the search space where real-world performance often hides.

Key results

  • Optimization across API and library choices, not just program text
  • Multi-modal search under a single fitness discipline
  • Published at ICSE 2020