Integrating semantic NLP and logic reasoning into a unified system for fully-automated code checking | Synapse