whether the implemented algorithm correctly solves the specified problem
whether the machine instructions executed correctly represent the high-level algorithm specification
whether the manipulation of data values in variables, as stored in machine registers or memory, is valid and meaningful
key issues from a software security perspective