Skip to content

Conversation

@urikirsh
Copy link
Contributor

@urikirsh urikirsh commented May 12, 2025

@urikirsh urikirsh added the future documentation for features that haven't landed yet label May 12, 2025
Comment on lines 34 to 41
## 3. Run Ranger
Use the certoraRanger command to launch the job:

```bash
certoraRanger ranger.conf
```

This will start the Ranger process. A link to the Ranger Job Report in the dashboard will be pasted into your command line when the job is submitted.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to mention somewhere that ranger runs lots of processes/is compute intensive and suggest that users use it with --rule in order to test only one rule/invariant, or use --split_rules "*" so each rule will run in a separate job?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added a new warning with this info. IDK if it fits a warning or an info message

Copy link
Contributor

@naftali-g naftali-g left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks ok to me

* start

* Added CLI docs

* Fixing ref

* spelling

* CR

* Update docs/ranger/ranger_client.md

Co-authored-by: urikirsh <[email protected]>

* Removed "usage" section and commented range_failure_limit attribute until decided otherwise.

* fixed attribute typo

* How Ranger Works (#398)

* how ranger works

* Uri's CR

---------

Co-authored-by: urikirsh <[email protected]>
Co-authored-by: Naftali Goldstein <[email protected]>
@urikirsh urikirsh marked this pull request as ready for review May 18, 2025 16:49
Copy link
Contributor

@johspaeth johspaeth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have some tiny request for changes, overall looks good! Thanks guys.

  1. We should state that Ranger operates on CVL early on.
  2. We should document the setup function.


[//]: <> (&#40;--ranger_failure_limit&#41;=)

[### `ranger_failure_limit`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[### `ranger_failure_limit`
### `ranger_failure_limit`

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is commented on purpose

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, thanks!
I tried different ways of commenting out lines in markdown, none worked, I've removed the lines entirely

# How Ranger Works

**Ranger** is a bounded model checker. This means that, in contrast with "full"
formal verification, its initial state isn't arbitrary, but is instead reached
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
formal verification, its initial state isn't arbitrary, but is instead reached
formal verification, its initial state is not arbitrary, but is instead reached

index.rst Outdated
* :doc:`docs/sunbeam/index` -- instructions for installing and using *Certora Sunbeam*
for formal verification of `Soroban`_ contracts.
* :doc:`docs/solana/index` -- instructions for installing and using *Certora Solana Prover*
* :doc:`docs/ranger/index` -- TODO
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* :doc:`docs/ranger/index` -- TODO
* :doc:`docs/ranger/index` -- explains how to use Ranger, Certora's Bounded Model Checker.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch!

-**Realistic counterexamples**: All violations are reachable from the initial state.
-**Faster time to value**: Minimal setup required to get useful results.
-**Fewer false positives**: No need to precondition rules to filter out invalid states.
-**High coverage**: Symbolically tests all function call sequences from the initial state up to a certain range.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd rephrase this slightly.

Suggested change
-**High coverage**: Symbolically tests all function call sequences from the initial state up to a certain range.
-**High coverage**: Tests all function call sequences on symbolic inputs from the initial state up to a certain range.


This guide will help you run your first Ranger job using a Solidity contract and a [CVL](/docs/cvl/index) [invariant](/docs/cvl/invariants).

Ranger uses the same installation process, configuration files, and spec files as the [Certora Prover](/docs/user-guide/index). If you're already familiar with the Prover, getting started with Ranger will feel familiar.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That Ranger uses CVL could be stated also ranger_intro?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

future documentation for features that haven't landed yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants