Предположительно можно прочитать в машинном коде, построить модель потенциальных путей кода, проверить каждый путь кода на поведение в стандартных и граничных условиях, отобразить условия, которые приводят к необработанным исключениям, а затем проследить все эти шаги. в обратном направлении для генерации требуемых входных данных и условий, которые будут запускать исключительный путь кода.
Да, это возможно, несмотря на то, что говорят теоретики. Есть несколько компаний, продающих продукты, которые делают именно то, что вы описываете, среди них Vericode, Coverity, Fortify, Klocwork и Grammatech.
Теория говорит, что это невозможно, предполагая, что вы хотите что-то, что звук и завершено . На практике вы можете отказаться как от обоснованности, так и от полноты, если ваш уровень ложных срабатываний не так уж плох, и у вас будут клиенты, выстраивающиеся в очередь, чтобы купить ваш продукт.
Когда вы отбрасываете разумность и полноту, теоремы невозможности больше не действуют, и вы переходите к чему-то гораздо более похожему на разработку, чем на теорию.
Редактировать, для комментария Алекса
Я возьму ярлык математики и скажу, что поскольку первоначальный вопрос «Возможно ли», существование нескольких жизнеспособных коммерческих продуктов доказывает, что ответ «да». Экономические зависимости, которые могут быть созданы с помощью коммерческого программного обеспечения, выходят за рамки первоначального вопроса.