a. There's this work is robotics[1]: You specify at a very high level the required robot behavior.The system analyzes it and if it find contradictions or things that are not fully specified it points you to them. After solving the issues it verifies the program behaves according to your spec.
b. see "Making programming more conversational " [2]
c. see "Integrating Programming by Example and Natural Language Programming" [3]
[1]https://www.youtube.com/watch?v=G_uVE86dJYI
[2http://www.cs.colorado.edu/~ralex/papers/PDF/Conversational-...
[3]http://www.aaai.org/ocs/index.php/AAAI/AAAI13/paper/view/647...