Automated Java exceptions explanation using natural language generation techniques - Assiri, Fatmah Yousef; Elazhary, Hanan (Computer applications in engineering education, 2020)
A common problem encountered by novice programmers and students taking introductory programming courses is how to understand exception messages and how to locate the corresponding errors. Such messages are typically too difficult for them to interpret without seeking help from colleagues or through online forums. Tackling this problem can help speed up their learning curves and hence increase their productivity. This paper proposes using natural language generation (NLG) techniques and the Rhetorical Structure Theory, which specifies how text spans are related and aggregated, to convert Java exception messages into readable and understandable natural language (NL) statements. An additional advantage is the possibility of adding more information and explanations that help students understand different exception types, their causes, and how they can be avoided. As a proof of concept, we developed Java Exceptions in the NL (JENL) tool to process Java exceptions using NLG techniques. Empirical evaluation has shown extreme satisfaction among Java programming subjects (including student novice programmers) with the capabilities of JENL as well as its usability.