[Termination tools] Re: WST competition: executable

Claude Marche Claude.Marche at lri.fr
Fri Mar 26 16:19:24 CET 2004


>>>>> "Peter" == Peter Schneider-Kamp <psk at informatik.rwth-aachen.de> writes:

    Peter> Hi Claude,
    Peter> we are starting to prepare for the WST competition. The rules
    Peter> state that for the executable "The preferred form is directly
    Peter> a stand-alone executable for i386/Linux".

    Peter> As you might know, our system is written in Java. Previous
    Peter> attempts (and one more this afternoon) compiling our sources
    Peter> to native code have all failed :-( There is always an issue
    Peter> with the libraries as the compiler folk seem not to be up to
    Peter> date with the Java SDKs.

    Peter> Now, I guess it would be okay to deliever a script called
    Peter> runme which executes java (which is hopefully installed in
    Peter> version 1.4.2 or something similar). The problem is that

Yes, runme may just execute some java -jar ...

    Peter> startup of the Java virtual machine as well as just-in-time
    Peter> compilation of the required classes consume a non-trivial
    Peter> part of the (limited) total runtime.

    Peter> On one hand, we understand that it is important to measure
    Peter> the time the program takes instead of relying on information
    Peter> given by the program. On the other hand, it is pretty unfair
    Peter> to measure the times including startup of the runtime
    Peter> environment and compilation of the termination prover for
    Peter> each example.

But how much time ? If less than a second, it would be neglectable. I
plan to give at least 10 seconds.

If just tested launching the Aprove version I have, it takes a few
seconds but it needs to launch the GUI, may be a text version would
start faster.

    Peter> There seem to be 3 possible ways out - all of which
    Peter> have their own advantages and disadvantages:

    Peter> 1) Measure and subtract startup overhead (also for other
    Peter>     tools like Termptation).
    Peter>     Advantage: Fair.
    Peter>     Disadvantage: Not very precise.

    Peter> 2) Let a "server"-version of AProVE run in the background
    Peter>     which gets filename and maximal runtime from a
    Peter>     small runme-stub. This would require that the process
    Peter>     of runme is not killed with a SIGKILL but with a
    Peter>     SIGTERM in order to be able to notify the server of
    Peter>     the timeout.
    Peter>     Advantage: More fair and precise.
    Peter>     Disadvantage: Requires considerable effort in
    Peter>                   implementation. Server has to be
    Peter>                   started and stopped.

    Peter> 3) Give a whole directory or list of files instead of
    Peter>     one file at a time.
    Peter>     Advantage: Easy to implement.
    Peter>     Disadvantage: Only total runtime can be checked
    Peter>                   precisely.

    Peter> What is your opinion on the above suggestions?

For the moment when just reading this: this seems much much
overcomplicated to me ! 

Please remember something: the only thing that counts is the answer,
the time to give it is not important, unless the time limit is reach.

Moreover, I plan to make the competition viewable in direct live on
the web, so if you see some example where you suspect that Aprove
timeouts but you think it would have succeeded with a few seconds
more, please ask: I would agree to increase the time limit for this
particular example.

In fact, I plan to have a default time limit, and the possibility to
increase it for "interesting problems", where tools appear to need
much time.

Do you understand my point of view ?

So don't spend time in implement feature like "server" version. Just
write a text-based non-interactive version that I can run with java
-jar ... 

    Peter> Of course, if you have any other suggestions, I will be glad
    Peter> to discuss them with you, too.

    Peter> Greetings from sunny Aachen,

Greetings from not so sunny Paris !

- Claude

-- 
| Claude Marché           | mailto:Claude.Marche at lri.fr |
| LRI - Bât. 490          | http://www.lri.fr/~marche/  |
| Université de Paris-Sud | phoneto: +33 1 69 15 64 85  |
| F-91405 ORSAY Cedex     | faxto: +33 1 69 15 65 86    |



More information about the Termtools mailing list