TL;DR
LitterBox is an open-source static analysis tool designed to detect bugs and code smells in Scratch programs, providing explanations and improving code quality for learners and researchers.
Contribution
Introduces LitterBox, a novel linter for Scratch that identifies bugs and code smells with explanations, supporting educational and research purposes.
Findings
Detects common bugs and code smells in Scratch programs
Provides detailed explanations and locations for issues
Offers an extensible framework for static analysis
Abstract
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,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
