Cleanroom detects errors in your web application by finding unique identifiers: any identifier or string literal that appears only once is underlined in green.

Give it a try! See if you can fix the warnings in the calculator code to the right, or add a .js file and write your own buggy code.


Names that appear once, including HTML classes and ids and JavaScript identifiers and strings.

Invalid CSS and HTML, such as unsupported tag names and style properties.

JSLint warnings. Problems in JavaScript code, such as implied global variables and missing semi-colons.


Ko, A.J. and Wobbrock, J.O. (2010). Cleanroom: Edit-Time Error Detection with the Uniqueness Heuristic. IEEE Symposium on Visual Languages and Human-Centric Computing, Madrid, Spain, September 21-24, 7-14.

Thanks to the Bespin team for a great editor and Douglas Crockford for JSLint. Also thanks to the ANTLR team and the various users who've contributed to HTML/CSS/ECMAScript token grammars. The rest of the code on this site is property of the University of Washington. Thanks to MSIM student Jeroen van den Eijkhof for adding the local storage support. Contact Andy Ko with questions or comments.

This material is based in part upon work supported by the National Science Foundation under Grant Number CCF-0952733. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.