Program understanding and the concept assignment problem | Synapse