Talk

Why an IDE Crashes Over a Single Bracket: Comparing Error Recovery in Java Parsers

Room 3In Russian

When a programmer is working, the code in the IDE often contains errors. Yet the user still receives syntax highlighting, autocompletion, and even suggestions for fixing issues. This is made possible by error recovery algorithms in parsers. But how can we assess their quality? And why isn’t javac always the ideal benchmark? This talk will take a closer look at the problem of error recovery during static code analysis in Java:

  • We’ll look at how recovery affects performance in Java IDEs
    We’ll briefly review error recovery strategies (panic mode, phrase-level)
    We’ll compare popular Java parsers (Tree-sitter, ANTLR, JDT, etc.) in terms of recovery quality and performance on real data containing errors

Technologies: JVM, Kotlin, Tree-sitter, ANTLR, Eclipse JDT, javac, Python

Audience: developers of IDEs, parsers, and static analysis tools. And all developers who are curious about why IDEs sometimes go haywire because of a missing bracket and what to do about it.

Speakers

Schedule