Towards Generative Robust Error Reporting

Designing and engineering easy-to-use domain-specific languages is a fundamental part of the job description of a language developer. As to fail is only human, modellers will provide incorrect input and expect useful error messages, which contain the position of the error and provide hints on how to correct their mistakes.

Parser generators, such as ANTLR, report where the error was detected, but these locations are often not where the actual problem was, such as a missing semicolon. Missing semicolons and some further syntax errors are so common that they warrant special treatment. By adding incorrect alternatives to production rules that match those common errors, language developers are able to give modelers hints when such errors are found. This additional workload can be shifted away from language developers and instead be incorporated into a parser generator.

Tasks of this thesis

  • Research common syntax error kinds
  • Derive suitable error alternatives
  • Identify applicable production rules for error alternatives
  • Integrate the generation of error alternatives for composed languages
  • Evaluate your work with a focus on the added ambiguity overhead and usability

Your Profile

  • Lecture SLE (required)
  • Solid experience in Java
  • The ability to independently develop solutions to complex problems

Contact

For more information, please send a short description of your background and overview of grades to Alex Lüpges (luepges@se-rwth.de).

Task definition

Prof. Dr. Bernhard Rumpe Lehrstuhl Software Engineering Ahornstr. 55 52074 Aachen