Облегчение поиска ошибок
Сравнительно элементарные методы исправления ошибок не оправдали ожиданий и не ускорили процесса проверки или отладки программ, так как прежде, чем ошибки программиста могут быть исправлены, они должны быть найдены.
Если программист не имеет всей хранящейся в машине на данном этапе решения информации в той форме, в какой он записывал программу, он вынужден владеть как языком программы, так и языком машины, что сводит к нулю некоторые из преимуществ. Необходимость перевода с языка машины на язык программы еще больше усложняет весь механизм перевода, а также приводит к возможности неоднозначного перевода из-за совпадения кодов различных входных элементов программы. Тем не менее выполнение такого перевода с языка машины может способствовать выявлению ошибок, допущенных человеком.
Одна из этих трудностей заключается в том, что в машине должен сохраняться полный словарь или список замен, сделанных при переводе. Часто обратный перевод становится затруднительным из-за того, что условный адрес может быть однозначно воспроизведен по действительному. Эти затруднения приводили во многих случаях к тому, что обнаружение ошибок осуществлялось на языке машины. К сожалению, это часто приводит к еще одному затруднению для программиста: он вынужден делать исправления также на языке машины.
Методы обнаружения ошибок распадаются на две категории: статические и динамические методы. Первые дают результаты только в определенных местах программы в ходе ее работы; обычно только в начале или в конце или и в начале и в конце. Методы «отсеивания» или «сверки измененных адресов» и выдача на печать определенных массивов из запоминающих устройств оказались полезными при осуществлении идеи автоматического отсева машиной несущественной информации.
Источник: delete-it