Difference between revisions of "SMT 1.4 Performance Results"

From Event-B
Jump to navigationJump to search
imported>Nicolas
imported>Nicolas
Line 1: Line 1:
 +
== Upgraded Provers ==
 +
 
In SMT plug-in 1.4.0, the following bundled provers have been upgraded:
 
In SMT plug-in 1.4.0, the following bundled provers have been upgraded:
 
* veriT (v2012 to v2016)
 
* veriT (v2012 to v2016)
Line 7: Line 9:
 
This has led to globally improve the rate of automatically discharged proof obligations (PO), thus reducing the remaining POs to prove manually.
 
This has led to globally improve the rate of automatically discharged proof obligations (PO), thus reducing the remaining POs to prove manually.
  
 +
== Results overview ==
 
The following picture shows the discharged POs for each project of the performance benchmark:
 
The following picture shows the discharged POs for each project of the performance benchmark:
  
Line 15: Line 18:
 
[[File:SMT_1.4_Perf_Remaining_POs.png]]
 
[[File:SMT_1.4_Perf_Remaining_POs.png]]
  
Now considering the whole benchmark for every prover:
+
== Results for every prover ==
 +
Now considering the whole benchmark for every upgraded prover:
  
 
[[File:SMT_1.4_Perf_Total_Remaining_POs.png]]
 
[[File:SMT_1.4_Perf_Total_Remaining_POs.png]]
 +
 +
Integrating the performances of the other provers:
 +
 +
[[File:SMT_1.4_Perf_Total_Remaining_POs_All_Provers.png]]
  
 
== Conclusion ==
 
== Conclusion ==
Line 27: Line 35:
 
'''CVC4''' has also greatly improved since its latest release: -22.4% of remaining POs.
 
'''CVC4''' has also greatly improved since its latest release: -22.4% of remaining POs.
  
'''Z3''' has globally improved (-1.1% of remaining POs), although a few regressions can be noticed among the previously discharged POs; however, Z3 remains the SMT prover with the best results.
+
'''Z3''' has slightly improved (-1.1% of remaining POs), although a few regressions can be noticed among the previously discharged POs; however, Z3 remains the SMT prover with the best results.
 +
 
 +
With '''all SMT''' provers combined (including '''CVC3'''), this is a 3.4% improvement on the remaining proof obligations.
  
Overall, with all SMT provers combined, this is a 3.4% improvement on the remaining proof obligations. In a context where every percent is valuable, it is a sensible enhancement.
+
Adding '''AtelierB''', we see that the provers complement one another, and '''the overall improvement is 3.5%'''.
 +
In a context where every percent is valuable, it is a sensible enhancement.
  
 
[[Category:Plugin]]
 
[[Category:Plugin]]
 
[[Category:User documentation]]
 
[[Category:User documentation]]

Revision as of 15:54, 11 September 2017

Upgraded Provers

In SMT plug-in 1.4.0, the following bundled provers have been upgraded:

  • veriT (v2012 to v2016)
  • CVC4 (v1.4 to v1.5)
  • Z3 (v4.4.1 to v4.5.0)

Note: CVC3 is still bundled but remains in the same version (v2.4.1) as in SMT 1.3.

This has led to globally improve the rate of automatically discharged proof obligations (PO), thus reducing the remaining POs to prove manually.

Results overview

The following picture shows the discharged POs for each project of the performance benchmark:

SMT 1.4 Perf Discharged POs.png

This next image focuses on the remaining POs:

SMT 1.4 Perf Remaining POs.png

Results for every prover

Now considering the whole benchmark for every upgraded prover:

SMT 1.4 Perf Total Remaining POs.png

Integrating the performances of the other provers:

SMT 1.4 Perf Total Remaining POs All Provers.png

Conclusion

The upgraded provers have individually improved their rate of automatically discharged proof obligations.

In particular, veriT has greatly improved since the last integrated version: -46.1% of remaining POs; this can be explained by the quite old previous version that was shipped and the good work that has been done since on the prover.

CVC4 has also greatly improved since its latest release: -22.4% of remaining POs.

Z3 has slightly improved (-1.1% of remaining POs), although a few regressions can be noticed among the previously discharged POs; however, Z3 remains the SMT prover with the best results.

With all SMT provers combined (including CVC3), this is a 3.4% improvement on the remaining proof obligations.

Adding AtelierB, we see that the provers complement one another, and the overall improvement is 3.5%. In a context where every percent is valuable, it is a sensible enhancement.