← works
2016 · Program Repair · Java · Research

Nopol

An automatic repair tool for Java bugs in conditional statements.

The problem

A large share of real Java bugs are wrong or missing conditions — an if that should have been stricter, or a guard that isn’t there. Finding and fixing them by hand is slow.

The approach

Given a failing test suite, Nopol localizes the faulty condition and synthesizes a new one, turning the repair into a constraint-solving problem.

In practice

Nopol is a standard baseline in program-repair research and one of the tools that established test-suite-based repair for conditions. Published in IEEE Transactions on Software Engineering.

Highlights

  • Repairs faulty and missing conditions
  • Turns repair into constraint solving
  • A reference baseline, published in IEEE TSE