Код на языках прораммирования можно пытаться проверять разными способами и утилитами. Те проверки, которые не делает компилятор часто реализуют с помощью так называемых "линтеров". Для языка OCaml на языке OCaml мною написан такой линтер, он применяется для проверки домашних заданий обучающихся.
Сейчас он кое-что умеет, но ему есть куда развиваться. Есть небольшое количество инфраструктурных задач, а также большое количество проверок ("линтов"), которые пока не реализованы. Мне нужно найти человекa или несокольких для доработки линтера.
По сути задача разбивается на большое количество небольших задач по реализации (иногда исправлению) проверок. Так как из работы сложно выделить цельную большую задачу, то она плохо подходит под ВКР. (Но если Вы найдете формального научника, которых убедит меня, что всё хорошо -- посмотрим.) Лучше всего это делать как набор полугодовых учебных практик. Публикация сомнительна (если только после набора большой и интересной статистики; в местах, где обсуждается обучение ФП (например, workshop TFPiE)). Количество линтов/задач, которые нужно реализовать зависит от вредности комиссии в университете, которой вы будете это сдавать.
Это копия текста с https://kakadu.github.io/2023/topics#ocaml-linter . Исправления этой и другие тему будут публиковаться в первую очередь там. Также там можно найти и другие темы.
Если обучающийся уже владеет функциональным программированием (OCaml, Haskell, Scala, F#), то ему будет проще разобраться.
2 курс, 3 курс
Kosarev Dmitry
От себя лично