Preventing Refactoring Attacks on Software Plagiarism Detection through Graph-Based Structural Normalization