Как работатет javaRush, Codecademy?
Зачем вам анализировать код? что вы хотите в нем найти? Если ошибки синтаксиса - пропустите через компилятор он вам всё скажет. Ошибки выполнения вылезут при запуске.
Такое делается обычно в песочнице - делаете безопасное окружения для запуска кода, запускаете его там, если какие-то ошибки - вам компилятор или среда выполнения все скажут, если нет - вывод скрипта проверяете и отправляете обратно в браузер результат.
Как делать песочницу - отдельный вопрос. Возможно есть какие-то готовые решения для запуска java кода в изоляции, тут гугл вам в помощь. Я бы для простоты запускал в изолированном докере - тяжеловато и не слишком ограничено там внутри но быстро и надежно. Для учебных целей подойдет. Можно и свою песочницу нагородить, если уверены в безопасности.
Можно крч через ANTLR прогнать) для каждой задачки написать парсер) если разбор строки происходит правильно, то пробуем скомпилить и прогнать через тесты, если и тут все ок, отправляем, что все ок) но это мб чутка муторно, хотя если приловчиться)