Using Code Inspection, Code Modification, and Machine Learning to prevent SQL Injection