[SMT-LIB] QF_UFBV: on last-minute extension with sign
Alessandro Cimatti
cimatti at itc.it
Wed Jul 26 01:31:31 EDT 2006
Hi Clark,
the new version of the QF_UFBV benchmarks is indeed fixed - there are no
undefined symbols - and they are an excellent addition to SMT-LIB.
The use of signed operators is a not a major extension, and it
seems that many of the interesting benchmarks make use of them.
So, I now think that they shuold all be included in the competition.
Thanks for your efforts on setting everything up,
Alessandro
> -----Original Message-----
> From: Clark Barrett [mailto:barrett at cs.nyu.edu]
> Sent: Tuesday, July 11, 2006 5:55 PM
> To: Alessandro Cimatti
> Cc: Clark Barrett; SMT-LIB; smtcomp at csl.sri.com
> Subject: Re: QF_UFBV: on last-minute extension with sign
>
> > However, I think that the extension of QF_UFBV32 with signed
operators
> > should not be accepted at this stage of the competition.
> >
> > In fact, the bit vectors theory has been fixed a long time ago ---
the
> > description was posted on the list by Cesare on May 5th. The
> > description made it clear that the interpretation would be
> > unsigned. That signed arithmetic would not be part of the theory had
> > been discussed and agreed upon with Cesare, Silvio, and others.
> >
> > No variations were communicated on the topic since. Thus, the
> > competitors entering this category had no reason to include signed
> > operators. A last minute addition to the theory would give them a
> > disadvantage against those who have signed arithmetic operators
> > already available, or somehow knew that the extension was being
taken
> > into consideration.
> >
> > Notice that this is really a last minute extension: for the other
> > categories, not only the theories, but also the benchmarks, have
been
> > frozen more than a week ago.
>
> Let me comment on why this happened. When we first formalized the
bit-
> vector
> theory, we anticipated receiving benchmarks from industry that would
fit
> nicely
> in the defined theory and logic. Unfortunately, these benchmarks
never
> came.
> When it became clear they would not be available, I went looking for
other
> benchmarks. Stanford offered the ones that I ultimately translated.
> Unfortunately, most of them required the use of signed arithmetic as
well
> as
> arrays.
>
> One important aim of SMT-LIB is to capture benchmarks in their native
form
> and
> avoid as much as possible translations and re-interpretations, so I
was
> reluctant to make any changes to the theories and signatures used by
the
> benchmarks.
>
> In fact, I was contemplating adding a theory combining bitvectors with
> arrays
> to properly translate the benchmarks, but upon closer examination, I
> realized
> that in most cases, arrays were simply being used like functions (i.e.
the
> update/store/write feature was not being used). Thus, I felt that it
was
> more
> accurate to represent these as uninterpreted functions and I made that
> translation.
>
> A similar translation could have been done to eliminate the signed
> arithmetic
> operations, but I felt that would be against the spirit of SMT-LIB
because
> these are common bit-vector operations, and they should be included in
the
> logic instead. I am happy with the benchmarks as they are and feel
that
> they
> are an accurate representation of the original application and a good
> addition
> to SMT-LIB.
>
> The question of whether they should be included in SMT-COMP is
somewhat
> orthogonal, but related. I tend to think they should be included for
the
> following reasons:
>
> 1) First, let me clear up a misunderstanding resulting from a typo in
the
> previous version of the logic (see my previous email). It is
actually
> the
> case that 6819 of 8247 files (83%) use the signed operators, not
just
> 437.
> Perhaps there is still enough variation in the remaining
benchmarks,
> but I
> don't know. By the way, I suspect this also explains Alessandro's
note
> about undeclared symbols.
>
> 2) The signed comparison and extend operators can be expressed fairly
> simply in
> terms of the previously existing operators, so it shouldn't be
> difficult to
> add the extensions.
>
> 3) One possible criticism is that "native" support for signed
operators
> will be
> more efficient than implementing them as existing operators, but
for my
> own
> part, I can say that I expect my system would have the same
performance
> and
> I don't know of any system that has special performance
capabilities
> for
> signed operations.
>
> That said, I am interested in what others think. Should we use the
full
> set of
> benchmarks for SMT-COMP, or restrict it to the 17% of them that do not
use
> the
> signed operators? I suggest that the remainder of this discussion
take
> place
> on the smt-comp list rather than the smt-lib list.
>
> Clark Barrett
More information about the SMT-LIB
mailing list