Automatic Grading of Programming Assignments: An Approach Based on Formal Semantics | IEEE Conference Publication | IEEE Xplore