Software semantics describe the runtime execution behavior and operational state changes of a machine interpreting code