29.04.2014 Views

Presburger Arithmetic and Its Use in Verification

Presburger Arithmetic and Its Use in Verification

Presburger Arithmetic and Its Use in Verification

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

6.2. SIMPLIFICATION OF PRESBURGER FORMULAS<br />

Figure 6.1. AN-sequenceKripkestructure[15].<br />

pr<strong>in</strong>ciple <strong>in</strong> logic, result<strong>in</strong>g <strong>in</strong> various subsets of <strong>Presburger</strong> formulas. We are open<br />

for extend<strong>in</strong>g the procedure for new subsets of <strong>Presburger</strong> fragments <strong>in</strong> the future.<br />

Detailed source code of the formulation can be found <strong>in</strong> Appendix B.4.<br />

For <strong>Presburger</strong> fragments arise from the model checker, we consider Kripke<br />

structures by concatenat<strong>in</strong>g N identical automata which is illustrated <strong>in</strong> Figure 6.1.<br />

The DC formula is □(l < 5 ⇒ ∫ p < 3)where□φ is def<strong>in</strong>ed by ¬(true ⌢ (¬φ) ⌢ true).<br />

Result<strong>in</strong>g <strong>Presburger</strong> fragments are quite big <strong>and</strong> they are used as the <strong>in</strong>put for the<br />

simplification process which is discussed <strong>in</strong> the next section.<br />

6.2 Simplification of <strong>Presburger</strong> formulas<br />

In Section 5.2, we have discussed an algorithm to quickly simplify <strong>Presburger</strong> fragments.<br />

This section presents experimental results of the algorithm <strong>and</strong> compares<br />

them with previous approaches. Our experiment is conducted as follows:<br />

•Fourside-condition<strong>Presburger</strong>formulasaregeneratedfrom2-sequence,3-<br />

sequence, 4-sequence <strong>and</strong> 5-sequence automata with the associated DC formula(see<br />

6.1 for details).<br />

•Simplifiedformulasarerecordedbyrunn<strong>in</strong>gasimplificationprocessbyHansen<br />

et al. (HB’s) [15] <strong>and</strong> one by our algorithm (Ours).<br />

•Simplifiedformulasarefed<strong>in</strong>totheSMT-solverZ3forquantifierelim<strong>in</strong>ation<br />

<strong>and</strong> evaluation.<br />

Our experimental results are summarized <strong>in</strong> Table 6.1. These results show that<br />

our simplification process at least reduces 4.5% ofnumberofquantifiersmorethan<br />

the other method, <strong>and</strong> the deepest nest<strong>in</strong>g of quantifiers is also 10.5% smaller.<br />

And it is also clear that less complex formulas are easier for Z3 to solve. This<br />

br<strong>in</strong>gs the hope that recogniz<strong>in</strong>g patterns of some <strong>Presburger</strong> fragments <strong>and</strong> quickly<br />

simplify<strong>in</strong>g them is important to assist decision procedures. By perform<strong>in</strong>g this<br />

experiment, we demonstrate that further simplification of <strong>Presburger</strong> fragments is<br />

possible <strong>and</strong> mean<strong>in</strong>gful to reduce stress on decision procedures. We are go<strong>in</strong>g to<br />

<strong>in</strong>corporate more elements to simplify formulas as much as possible before solv<strong>in</strong>g<br />

them.<br />

45

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!