non linear interpolant generation and its application to
play

Non-linear Interpolant Generation and Its Application to Program - PowerPoint PPT Presentation

Problem Description Synthesizing Non-linear Interpolants Archimedean Condition To invariant generation To machine-lea Non-linear Interpolant Generation and Its Application to Program Verification Naijun Zhan State Key Laboratory of Computer


  1. Problem Description Synthesizing Non-linear Interpolants Archimedean Condition To invariant generation To machine-lea Non-linear Interpolant Generation and Its Application to Program Verification Naijun Zhan State Key Laboratory of Computer Science, Institute of Software, CAS Joint work with Liyun Dai, Ting Gan, Bow-Yaw Wang, Bican Xia, and Hengjun Zhao Probabilistic and Hybrid Workshop Sept. 24-27, 2013 N. Zhan et al (SKLCS) Nonlinear Interp. Gen. and Apps Prob.&Hybrid Workshop 1 / 25

  2. Problem Description Synthesizing Non-linear Interpolants Archimedean Condition To invariant generation To machine-lea Part I: Non-linear Interpolant Generation N. Zhan et al (SKLCS) Nonlinear Interp. Gen. and Apps Prob.&Hybrid Workshop 2 / 25

  3. Problem Description Synthesizing Non-linear Interpolants Archimedean Condition To invariant generation To machine-lea Motivation Current program verification techniques suffer from scalability. Compositional way has been thought as an effective solution to the problem. Interpolation-based techniques are inherently local and modular, which can be used to scale up these techniques of program verification: Theorem proving: Nelson-Oppen method, SMT; Model-checking: BMC, CEGAR; Abstraction interpretation; Machine learning based approaches. Synthesizing Craig interpolants is the cornerstone of interpolation based techniques. N. Zhan et al (SKLCS) Nonlinear Interp. Gen. and Apps Prob.&Hybrid Workshop 3 / 25

  4. Problem Description Synthesizing Non-linear Interpolants Archimedean Condition To invariant generation To machine-lea Related work on synthesizing Craig interpolants [McMillan 05] on quantifier-free theory of linear inequality with UF; [Henzinger et al 04] on a theory with arithmetic and pointer expressions, and call-by-value functions; [YorshMusuvathi 05] on a class of first-order theories; [Kapur et al 06] on theories of arrays, sets and multisets; [RybalchenkoSofronie-Stokkermans 10] to reduce the synthesis of Craig interpolants of the combined theory of linear arithmetic and uninterpreted function symbols to constraint solving. But little work on how to synthesize non-linear interpolants N. Zhan et al (SKLCS) Nonlinear Interp. Gen. and Apps Prob.&Hybrid Workshop 4 / 25

  5. Problem Description Synthesizing Non-linear Interpolants Archimedean Condition To invariant generation To machine-lea Interpolants Given two formulae φ and ψ of T with ⊢ T ( φ ∧ ψ ) ⇒ ⊥ , then we say a formula Θ is an interpolant of φ and ψ , if ⊢ T φ ⇒ Θ , ⊢ T ( ψ ∧ Θ) ⇒ ⊥ , and Θ contains only symbols that φ and ψ share. Semi-algebraic system A semi-algebraic system (SAS) T ( x ) is of the form � k j = 0 f j ( x ) ⊲ j 0 , where f j are polynomials in R [ x ] and ⊲ j ∈ { = , � = , ≥} . Problem description Let φ 1 = � m t = 1 T 1 t ( x 1 ) , φ 2 = � n l = 1 T 2 l ( x 2 ) , and φ 1 ∧ φ 2 | = ⊥ , the problem is to find a PF I in which all polynomials are in R [ x 1 ∩ x 2 ] s.t. φ 1 | = I and I ∧ φ 2 | = ⊥ If for each t and l , there is an interpolant I tl for SASs T 1 t ( x 1 ) and T 2 l ( x 2 ) , then I = � m � n l = 1 I tl is an interpolant of φ 1 and φ 2 . t = 1 So, only need to consider how to construct interpolants for two SASs N. Zhan et al (SKLCS) Nonlinear Interp. Gen. and Apps Prob.&Hybrid Workshop 5 / 25

  6. Problem Description Synthesizing Non-linear Interpolants Archimedean Condition To invariant generation To machine-lea Interpolants Given two formulae φ and ψ of T with ⊢ T ( φ ∧ ψ ) ⇒ ⊥ , then we say a formula Θ is an interpolant of φ and ψ , if ⊢ T φ ⇒ Θ , ⊢ T ( ψ ∧ Θ) ⇒ ⊥ , and Θ contains only symbols that φ and ψ share. Semi-algebraic system A semi-algebraic system (SAS) T ( x ) is of the form � k j = 0 f j ( x ) ⊲ j 0 , where f j are polynomials in R [ x ] and ⊲ j ∈ { = , � = , ≥} . Problem description Let φ 1 = � m t = 1 T 1 t ( x 1 ) , φ 2 = � n l = 1 T 2 l ( x 2 ) , and φ 1 ∧ φ 2 | = ⊥ , the problem is to find a PF I in which all polynomials are in R [ x 1 ∩ x 2 ] s.t. φ 1 | = I and I ∧ φ 2 | = ⊥ If for each t and l , there is an interpolant I tl for SASs T 1 t ( x 1 ) and T 2 l ( x 2 ) , then I = � m � n l = 1 I tl is an interpolant of φ 1 and φ 2 . t = 1 So, only need to consider how to construct interpolants for two SASs N. Zhan et al (SKLCS) Nonlinear Interp. Gen. and Apps Prob.&Hybrid Workshop 5 / 25

  7. Problem Description Synthesizing Non-linear Interpolants Archimedean Condition To invariant generation To machine-lea Interpolants Given two formulae φ and ψ of T with ⊢ T ( φ ∧ ψ ) ⇒ ⊥ , then we say a formula Θ is an interpolant of φ and ψ , if ⊢ T φ ⇒ Θ , ⊢ T ( ψ ∧ Θ) ⇒ ⊥ , and Θ contains only symbols that φ and ψ share. Semi-algebraic system A semi-algebraic system (SAS) T ( x ) is of the form � k j = 0 f j ( x ) ⊲ j 0 , where f j are polynomials in R [ x ] and ⊲ j ∈ { = , � = , ≥} . Problem description Let φ 1 = � m t = 1 T 1 t ( x 1 ) , φ 2 = � n l = 1 T 2 l ( x 2 ) , and φ 1 ∧ φ 2 | = ⊥ , the problem is to find a PF I in which all polynomials are in R [ x 1 ∩ x 2 ] s.t. φ 1 | = I and I ∧ φ 2 | = ⊥ If for each t and l , there is an interpolant I tl for SASs T 1 t ( x 1 ) and T 2 l ( x 2 ) , then I = � m � n l = 1 I tl is an interpolant of φ 1 and φ 2 . t = 1 So, only need to consider how to construct interpolants for two SASs N. Zhan et al (SKLCS) Nonlinear Interp. Gen. and Apps Prob.&Hybrid Workshop 5 / 25

  8. Problem Description Synthesizing Non-linear Interpolants Archimedean Condition To invariant generation To machine-lea Common varaiables A simply way by quantifier elimination (QE): applying QE to ∃ x 1 − x 2 .φ 1 ( x 1 ) and ∃ x 2 − x 1 .φ 2 ( x 2 ) , and obtain two formulas on the common variables x 1 ∩ x 2 . A more efficient way by local variable elimination according to the programs to be verified. Simplified problem Thus, we only consider T 1 ∧ T 2 | = ⊥ , where   f 1 ( x ) ≥ 0 , . . . , f s 1 ( x ) ≥ 0 , f s 1 + 1 ( x ) ≥ 0 , . . . , f s ( x ) ≥ 0 ,   T 1 = g 1 ( x ) � = 0 , . . . , g t 1 ( x ) � = 0 , T 2 = g t 1 + 1 ( x ) � = 0 , . . . , g t ( x ) � = 0 , h 1 ( x ) = 0 , . . . , h u 1 ( x ) = 0 h u 1 + l ( x ) = 0 , . . . , h u ( x ) = 0   N. Zhan et al (SKLCS) Nonlinear Interp. Gen. and Apps Prob.&Hybrid Workshop 6 / 25

  9. Problem Description Synthesizing Non-linear Interpolants Archimedean Condition To invariant generation To machine-lea Common varaiables A simply way by quantifier elimination (QE): applying QE to ∃ x 1 − x 2 .φ 1 ( x 1 ) and ∃ x 2 − x 1 .φ 2 ( x 2 ) , and obtain two formulas on the common variables x 1 ∩ x 2 . A more efficient way by local variable elimination according to the programs to be verified. Simplified problem Thus, we only consider T 1 ∧ T 2 | = ⊥ , where   f 1 ( x ) ≥ 0 , . . . , f s 1 ( x ) ≥ 0 , f s 1 + 1 ( x ) ≥ 0 , . . . , f s ( x ) ≥ 0 ,   T 1 = g 1 ( x ) � = 0 , . . . , g t 1 ( x ) � = 0 , T 2 = g t 1 + 1 ( x ) � = 0 , . . . , g t ( x ) � = 0 , h 1 ( x ) = 0 , . . . , h u 1 ( x ) = 0 h u 1 + l ( x ) = 0 , . . . , h u ( x ) = 0   N. Zhan et al (SKLCS) Nonlinear Interp. Gen. and Apps Prob.&Hybrid Workshop 6 / 25

  10. Problem Description Synthesizing Non-linear Interpolants Archimedean Condition To invariant generation To machine-lea Step 1: Reduction by Positivestellensatz Theorem Basic definitions A polynomial ideal I : i) 0 ∈ I ; ii) p 1 , p 2 ∈ I implies p 1 + p 2 ∈ I ; iii) fg ∈ I whenever f ∈ I and g ∈ R [ x ] . A polynomial p is called sums of square ( SOS ), if it can be represented as of the form f 2 1 + . . . + f 2 n . The multiplicative monoid Mult ( P ) generated by a set of polynomial P is the set of finite products of the elements of P (the empty product is 1 ). The cone C ( P ) for a finite set P ⊆ R [ x ] is { � r i = 1 q i p i | q 1 , . . . , q r are SOS , p 1 , . . . , p r ∈ Mult ( P ) } . Positivestellensatz Theorem T 1 ∧ T 2 has no real solutions iff there exist f ∈ C ( { f 1 , . . . , f s } ) , g ∈ Mult ( { g 1 , . . . , g t } ) and h ∈ I ( { h 1 , . . . , h u } ) s.t. f + g 2 + h ≡ 0 . N. Zhan et al (SKLCS) Nonlinear Interp. Gen. and Apps Prob.&Hybrid Workshop 7 / 25

  11. Problem Description Synthesizing Non-linear Interpolants Archimedean Condition To invariant generation To machine-lea Step 1: Reduction by Positivestellensatz Theorem Basic definitions A polynomial ideal I : i) 0 ∈ I ; ii) p 1 , p 2 ∈ I implies p 1 + p 2 ∈ I ; iii) fg ∈ I whenever f ∈ I and g ∈ R [ x ] . A polynomial p is called sums of square ( SOS ), if it can be represented as of the form f 2 1 + . . . + f 2 n . The multiplicative monoid Mult ( P ) generated by a set of polynomial P is the set of finite products of the elements of P (the empty product is 1 ). The cone C ( P ) for a finite set P ⊆ R [ x ] is { � r i = 1 q i p i | q 1 , . . . , q r are SOS , p 1 , . . . , p r ∈ Mult ( P ) } . Positivestellensatz Theorem T 1 ∧ T 2 has no real solutions iff there exist f ∈ C ( { f 1 , . . . , f s } ) , g ∈ Mult ( { g 1 , . . . , g t } ) and h ∈ I ( { h 1 , . . . , h u } ) s.t. f + g 2 + h ≡ 0 . N. Zhan et al (SKLCS) Nonlinear Interp. Gen. and Apps Prob.&Hybrid Workshop 7 / 25

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend