  Creating programs with block-based programming languages like Scratch is easy
and fun. Block-based programs can nevertheless contain bugs, in particular when
learners have misconceptions about programming. Even when they do not, Scratch
code is often of low quality and contains code smells, further inhibiting
understanding, reuse, and fun. To address this problem, in this paper we
introduce LitterBox, a linter for Scratch programs. Given a program or its
public project ID, LitterBox checks the program against patterns of known bugs
and code smells. For each issue identified, LitterBox provides not only the
location in the code, but also a helpful explanation of the underlying reason
and possible misconceptions. Learners can access LitterBox through an easy to
use web interface with visual information about the errors in the block-code,
while for researchers LitterBox provides a general, open source, and extensible
framework for static analysis of Scratch programs.
