Preexecution analysis based on denotational semantics