nusmv

Execution time of properties checking


I want to know how to calculate the execution time of CTL/LTL properties checking in NuSMV model checker.

... thanks

Blockquote

....

....

Solution

  • One option is to use the command print_usage. However, this might not be that much precise if your purpose is to collect timing statistics for some scientific purpose.

    Example:

    NuSMV > reset
    NuSMV > read_model -i some_model.smv
    NuSMV > go                                                                                  
    NuSMV > print_usage                                                                         
    ...
    User time    0.268 seconds
    System time  0.043 seconds
    ...
    
    NuSMV > check_property                                                                      
    -- specification AG (AF state = MOVE)  is false
    -- as demonstrated by the following execution sequence
    ...
    
    NuSMV > print_usage   
    ...
    User time    0.494 seconds
    System time  0.051 seconds
    ...
    
    NuSMV > quit
    

    The difference between the final time and the starting time provides a rough measurement of the time required for checking the property.


    In practice, the approach described in this answer may not be quite effective for automated tasks requiring some degree of precision. Luckily, the source code of NuSMV is publicly available, so you can actually modify it so that it computes the exact time taken by each property being checked. This may require some c++ development skills.