Некоторые компиляторы имеют опции для обнаружения мертвого кода, поэтому у вас уже есть инструменты, которые вы хотите. Пожалуйста, имейте в виду, что будут ситуации, когда код мертв, и вы не можете сказать через статический анализ исходного кода.
if a = 1
move 'error' to out-message
end-if
Если a
никогда не может быть 1, то это мертвый код. Статический анализ исходного кода может не найти более сложных экземпляров этого сценария, особенно если значение a
происходит вне анализируемой программы - возможно, базы данных.
A cursory сканирование инструментов анализа статического исходного кода listed в Википедии показывает, что коммерческие продукты являются дорогими (в тысячах евро). Инструменты с открытым исходным кодом, как представляется, не обеспечивают значительного охвата COBOL. Возможно, вы захотите проверить их сами, поскольку я признаю, что не сделал тщательной оценки, а просто просмотрел их документацию.
COBOL - сложный язык для разбора.
Я думаю, было бы лучше задать этот вопрос на http://serverfault.com –
Это не вопрос сервера. –
@IraBaxter. Но вопрос, на который, вероятно, лучше ответить профессиональный ИТ-человек - вид человека, который висит на этом сайте и знает разработку COBOL и VMS и т. Д. –