Checking and spot-checking the correctness of priority queues

  • Authors:
  • Matthew Chu;Sampath Kannan;Andrew McGregor

  • Affiliations:
  • Dept. of Computer and Information Science, University of Pennsylvania;Dept. of Computer and Information Science, University of Pennsylvania;ITA Center, University of California, San Diego

  • Venue:
  • ICALP'07 Proceedings of the 34th international conference on Automata, Languages and Programming
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We revisit the problem of memory checking considered by Blum et al. [3]. In this model, a checker monitors the behavior of a data structure residing in unreliable memory given an arbitrary sequence of user defined operations. The checker is permitted a small amount of separate reliable memory and must fail a data structure if it is not behaving as specified and pass it otherwise. How much additional reliable memory is required by the checker? First, we present a checker for an implementation of a priority queue. The checker uses O(√n log n) space where n is the number of operations performed. We then present a spotchecker using only O(ε-1 log δ-1 log n) space, that, with probability at least 1-δ, will fail the priority queue if it is ε-far (defined appropriately) from operating like a priority queue and pass the priority queue if it operates correctly. Finally, we then prove a range of lower bounds that complement our checkers.