Без заголовка
С точки зрения инженерии, мне кажется что перспективным является подход, когда (возможно частичная) верификация либо тестирование софта делается с помощью МЛ и прочих нейросеток.
Т.е. "классический" подход к автоматизации с помощью МЛ - автоматизируем те задачи которые умеет делать (специально обученный) человек, но не всегда понятно как это формализовать.
Ну типа берем тестовые примеры которые напридумывал тестер вручную. Скармливаем нейросети.
Или делаем дифференцируемый язык тактик (которые ищут доказательство корректности прог), ну и тоже тренируем на примерах. Примерно в том же стиле как нейросетки играют в компьютерные игры.
Можно и формальные спецификации генерить по документации попробовать.
Ну и т.д.
Хотя не уверен что это при моей жизни будет.