A Survey of Automatic Software Vulnerability Detection, Program Repair, and Defect Prediction Techniques. (30th September 2020)