  Answer set programming (ASP) is a successful declarative formalism for
knowledge representation and reasoning. The evaluation of ASP programs is
nowadays based on the Conflict-Driven Clause Learning (CDCL) backtracking
search algorithm. Recent work suggested that the performance of CDCL-based
implementations can be considerably improved on specific benchmarks by
extending their solving capabilities with custom heuristics and propagators.
However, embedding such algorithms into existing systems requires expert
knowledge of the internals of ASP implementations. The development of effective
solver extensions can be made easier by providing suitable programming
interfaces. In this paper, we present the interface for extending the
CDCL-based ASP solver WASP. The interface is both general, i.e. it can be used
for providing either new branching heuristics and propagators, and external,
i.e. the implementation of new algorithms requires no internal modifications of
WASP. Moreover, we review the applications of the interface witnessing it can
be successfully used to extend WASP for solving effectively hard instances of
both real-world and synthetic problems. Under consideration in Theory and
Practice of Logic Programming (TPLP).
