Efficient Well-Definedness Checking

  • Authors:
  • Ádám Darvas;Farhad Mehta;Arsenii Rudich

  • Affiliations:
  • ETH Zurich, Switzerland;ETH Zurich, Switzerland;ETH Zurich, Switzerland

  • Venue:
  • IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Formal specifications often contain partial functions that may lead to ill-defined terms. A common technique to eliminate ill-defined terms is to require well-definedness conditions to be proven. The main advantage of this technique is that it allows us to reason in a two-valued logic even if the underlying specification language has a three-valued semantics. Current approaches generate well-definedness conditions that grow exponentially with respect to the input formula. As a result, many tools prove shorter, but stronger approximations of these well-definedness conditions instead.We present a procedure which generates well-definedness conditions that grow linearly with respect to the input formula. The procedure has been implemented in the Spec# verification tool. We also present empirical results that demonstrate the improvements made.