If you want to get different results, you have to change the rules of the game.
The test shows that those who consistently apply the same meaning to the types of questions they are presented with end up being the best programmers.
I dealt with a batch of 60 identical PCs that would occasionally fail in odd ways during the disk imaging process, and upon further inspection would fail memtest spectacularly. It didn't make sense, as they were stable when running an operating system, just not in memtest or while imaging. Plus the memory tested fine in other computers!
I eventually figured out that while the BIOS was in real mode, the USB controller would write to extended memory when the USB mouse sent it events. They would have no problems with the mouse unplugged, and the problem went away with a BIOS update. It took a lot of yelling to figure this out!
So, the tested students who focus on the syntactical context of variables and keywords will probably be better at understanding programs than those who focus on their understanding of these words' semantics. The problem is not "meaning" itself, but that they are using the wrong frame of reference to derive meaning.
Perhaps a better distinction, then, is objective vs subjective meaning. Those who look for the objective frame of reference to infer meaning will understand programs better. Once they do so, they can analyze programs more semantically. For instance, now that I've been exposed to many languages, I know something called "print," occurring in a certain position on a line, probably outputs textual information somewhere, such as stdout.