Active areas of research:
Model checking, program synthesis, automatic correction (counter-example guided)