Code Monkey home page Code Monkey logo

Comments (6)

hmijail avatar hmijail commented on July 17, 2024

Well, actually I see that dafny 4.6 seems to neuter the --boogie options, so using them to create my own faux-measure-complexity on top of verify as I did on 4.4 is no longer possible.

So maybe that's (part of?) the answer: until recently measure-complexity and verify were very similar but the plan is to diverge?

from dafny.

stefan-aws avatar stefan-aws commented on July 17, 2024

@atomb

from dafny.

keyboardDrummer avatar keyboardDrummer commented on July 17, 2024

There's different ways of preventing proof complexity. A simple one is to limit the maximum resources used by a proof. This option is available in dafny verify, using --resource-limit <resource-limit>.

A more complicated way of preventing proof complexity is to run multiple iterations and to compare the resources used by each iteration. I did not want to increase the scope of dafny verify by adding options related to this statistical technique, so I added a separate command, measure-complexity, for doing that. The scope of measure-complexity is not entirely clear. In the future it might even be implemented in a separate repository as a plugin for the Dafny CLI.

Also I think the default behavior of measure-complexity should be quite different from verify. For example,dafny verify returns a success exit code if everything verified in a single iteration. measure-complexity currently returns a success code if everything verified in each iteration, but I intend to change that so that it only returns a success exit code if the relative standard deviation of the resource count used is within a a certain bound.

from dafny.

hmijail avatar hmijail commented on July 17, 2024

Thank you for the explanation.

I mentioned --filter-symbol being available in verify but not in measure-complexity. It would be very useful in there too, to accelerate iterating. Will it be made available there too?
(Should I open a new issue?)

from dafny.

keyboardDrummer avatar keyboardDrummer commented on July 17, 2024

Thank you for the explanation.

I mentioned --filter-symbol being available in verify but not in measure-complexity. It would be very useful in there too, to accelerate iterating. Will it be made available there too? (Should I open a new issue?)

In nightly, these options are already available for measure-complexity

from dafny.

hmijail avatar hmijail commented on July 17, 2024

Thank you!

from dafny.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.