SE547: Timing channels [13/23] Previous pageContentsNext page

Adding a clock to the language can break noninterference:

  finishL = System.getTimeMillis () + 1000;
  while (secretH && System.getTimeMillis () < finishL) { }
  if (System.getTimeMillis () < finishL) { resultL = 0; }
  else { resultL = 1; }

What happens in initial memory { secretH = 0, everything else = 0 }?

What happens in initial memory { secretH = 1, everything else = 0 }?

Previous pageContentsNext page