focus slide
play

Focus Slide . p.1 . p.2 CONTINUITY . p.2 CONTINUITY . - PowerPoint PPT Presentation

Focus Slide . p.1 . p.2 CONTINUITY . p.2 CONTINUITY . p.2 CONTINUITY IN SOFTWARE SYSTEMS . p.2 CONTINUITY IN SOFTWARE SYSTEMS Dick Hamlet Portland State University Portland, OR, USA .


  1. Focus Slide . – p.1

  2. . – p.2

  3. CONTINUITY . – p.2

  4. CONTINUITY ε δ . – p.2

  5. CONTINUITY IN SOFTWARE SYSTEMS ε δ . – p.2

  6. CONTINUITY IN SOFTWARE SYSTEMS ε δ Dick Hamlet Portland State University Portland, OR, USA . – p.2

  7. Outline of the Talk I. Continuity in the Real World II. Defining Continuity III. Testing and Analyzing ‘Continuity’ . – p.3

  8. Outline of the Talk I. Continuity in the Real World II. Defining Continuity III. Testing and Analyzing ‘Continuity’ . – p.3

  9. The Trustworthy Lever F . – p.4

  10. The Trustworthy Lever Maximum stress T F . – p.4

  11. The Trustworthy Lever Maximum failure limit stress T F T F . – p.4

  12. Untrustworthy Behavior F . – p.5

  13. Untrustworthy Behavior F 0 . – p.5

  14. Untrustworthy Behavior failure limit F 0 F 0 . – p.5

  15. Testing a System for Trustworthiness Sample the behavior often enough that continuity covers the space between samples safety limit + + + output values + + ++ input conditions . – p.6

  16. Testing a System for Trustworthiness Sample the behavior often enough that continuity covers the space between samples safety limit + + + output values + + ++ input conditions . – p.6

  17. Safety Factors Continuity isn’t enough – something needed like a Lipschitz condition + + + . – p.7

  18. Safety Factors Continuity isn’t enough – something needed like a Lipschitz condition + + + . – p.7

  19. Outline of the Talk I. Continuity in the Real World II. Defining Continuity III. Testing and Analyzing ‘Continuity’ . – p.8

  20. The Real-analysis Definition The famous ‘ ε − δ ’ version: DEFINITION: A real function f is continuous at x 0 iff: Given any ǫ > 0 , ∃ δ > 0 such that ∀ x ( | x − x 0 | < δ = ⇒ | f ( x ) − f ( x 0 ) | < ǫ ) . – p.9

  21. The Real-analysis Definition The famous ‘ ε − δ ’ version: DEFINITION: A real function f is continuous at x 0 iff: Given any ǫ > 0 , ∃ δ > 0 such that ∀ x ( | x − x 0 | < δ = ⇒ | f ( x ) − f ( x 0 ) | < ǫ ) x 0 . – p.9

  22. The Real-analysis Definition The famous ‘ ε − δ ’ version: DEFINITION: A real function f is continuous at x 0 iff: Given any ǫ > 0 , ∃ δ > 0 such that ∀ x ( | x − x 0 | < δ = ⇒ | f ( x ) − f ( x 0 ) | < ǫ ) δ ε x 0 . – p.9

  23. The Real-analysis Definition The famous ‘ ε − δ ’ version: DEFINITION: A real function f is continuous at x 0 iff: Given any ǫ > 0 , ∃ δ > 0 such that ∀ x ( | x − x 0 | < δ = ⇒ | f ( x ) − f ( x 0 ) | < ǫ ) ε x 0 . – p.9

  24. Discrete Functions Approximating a function f ( ) . – p.10

  25. � ✁ ✁ ✁ ✁ ✁ ✁ ✁ Discrete Functions Approximating a function f ( )with a discrete approximation f d ( ), f d ( x ) = rnd( f ( x )) , integer x . – p.10

  26. Rosenfeld’s Definition DEFINITION: An integer function f defined on a finite interval of the integers is discretely continuous iff: Given any ǫ ≥ 1 , ∃ δ ≥ 1 such that ∀ x ( | x − x 0 | ≤ δ = ⇒ | f ( x ) − f ( x 0 ) | ≤ ǫ ) . – p.11

  27. � � � � � � Rosenfeld’s Definition DEFINITION: An integer function f defined on a finite interval of the integers is discretely continuous iff: Given any ǫ ≥ 1 , ∃ δ ≥ 1 such that ∀ x ( | x − x 0 | ≤ δ = ⇒ | f ( x ) − f ( x 0 ) | ≤ ǫ ) . – p.11

  28. � � � � � � Rosenfeld’s Definition DEFINITION: An integer function f defined on a finite interval of the integers is discretely continuous iff: Given any ǫ ≥ 1 , ∃ δ ≥ 1 such that ∀ x ( | x − x 0 | ≤ δ = ⇒ | f ( x ) − f ( x 0 ) | ≤ ǫ ) ε x 0 . – p.11

  29. � � � � � � Rosenfeld’s Definition DEFINITION: An integer function f defined on a finite interval of the integers is discretely continuous iff: Given any ǫ ≥ 1 , ∃ δ ≥ 1 such that ∀ x ( | x − x 0 | ≤ δ = ⇒ | f ( x ) − f ( x 0 ) | ≤ ǫ ) δ ε x 0 . – p.11

  30. Surprises? The discretely continuous functions: ◮ have the intermediate value property: if f ( x ) < m < f ( y ) , ∃ z such that f ( z ) = m . – p.12

  31. Surprises? The discretely continuous functions: ◮ have the intermediate value property: if f ( x ) < m < f ( y ) , ∃ z such that f ( z ) = m ◮ are closed under composition . – p.12

  32. Surprises? The discretely continuous functions: ◮ have the intermediate value property: if f ( x ) < m < f ( y ) , ∃ z such that f ( z ) = m ◮ are closed under composition ◮ are not closed under arithmetic operations . – p.12

  33. Surprises? The discretely continuous functions: ◮ have the intermediate value property: if f ( x ) < m < f ( y ) , ∃ z such that f ( z ) = m ◮ are closed under composition ◮ are not closed under arithmetic operations ⊲ Let f ( x ) = x , for which f d is discretely continuous everywhere. But f d + f d is nowhere discretely continuous. . – p.12

  34. Floating-point Continuity A program “computes f to within 1%”: ◮ For all real x , program inputs will approximate x with error at most δ x , and for all input values t such that | x − t | < δ x the program output v t at t will satisfy | ( f ( x ) − v t ) /f ( x ) | < . 01 DEFINITION: The function F computed by a program is floating-point continuous iff it approximates a continuous function to the accuracy of the program’s specification. ◮ Floating-point continuity: almost discrete continuity ‘scaled’ by floating-point granularity . – p.13

  35. Failure Continuity DEFINITION: Program P has specification S . P is failure continuous at x 0 iff ∃ b > 0 such that: P ( x 0 ) � = S ( x 0 ) = ⇒ ∀ t, | x 0 − t | < b ( P ( t ) � = S ( t )) . – p.14

  36. Failure Continuity DEFINITION: Program P has specification S . P is failure continuous at x 0 iff ∃ b > 0 such that: P ( x 0 ) � = S ( x 0 ) = ⇒ ∀ t, | x 0 − t | < b ( P ( t ) � = S ( t )) 1 S ( x ) = sin( x ) ± 5% 00 π . – p.14

  37. Failure Continuity DEFINITION: Program P has specification S . P is failure continuous at x 0 iff ∃ b > 0 such that: P ( x 0 ) � = S ( x 0 ) = ⇒ ∀ t, | x 0 − t | < b ( P ( t ) � = S ( t )) P ( x ) = 1 1 S ( x ) = sin( x ) ± 5% 00 x 0 π . – p.14

  38. Failure Continuity DEFINITION: Program P has specification S . P is failure continuous at x 0 iff ∃ b > 0 such that: P ( x 0 ) � = S ( x 0 ) = ⇒ ∀ t, | x 0 − t | < b ( P ( t ) � = S ( t )) P ( x ) = 1 1 S ( x ) = sin( x ) ± 5% 00 x 0 π ◮ Failure continuity is what Howden’s ‘reliable’ subdomains have . – p.14

  39. Program Analysis with Reals Justified ◮ Program variables are not the real variables we pretend they are CONJECTURE: If a program computes by symbolic execution a continuous real-valued function, then: (1) The program is discretely continuous over a suitable interval, and (2) There is a specification accuracy for which the program is floating-point continuous. Proof? Choose the interval or the required accuracy to be as poor as necessary. . – p.15

  40. Program Analysis with Reals Justified ◮ Program variables are not the real variables we pretend they are CONJECTURE: If a program computes by symbolic execution a continuous real-valued function, then: (1) The program is discretely continuous over a suitable interval, and (2) There is a specification accuracy for which the program is floating-point continuous. Proof? Choose the interval or the required accuracy to be as poor as necessary. ◮ The converse is false . – p.15

  41. Outline of the Talk I. Continuity in the Real World II. Defining Continuity III. Testing and Analyzing ‘Continuity’ . – p.16

  42. Testing a Program for Continuity ◮ Imperative conditional statements are the source of discontinuity ◮ On each path subdomain, programs compute a real-variable polynomial ⊲ Potential discontinuities can occur only on path-subdomain boundaries ⊲ Testing for continuity across a boundary requires no oracle . – p.17

  43. Testing a Program for Continuity ◮ Imperative conditional statements are the source of discontinuity ◮ On each path subdomain, programs compute a real-variable polynomial ⊲ Potential discontinuities can occur only on path-subdomain boundaries ⊲ Testing for continuity across a boundary requires no oracle ◮ Functional languages might be better – program continuities are closed under composition . – p.17

  44. Ideas to Explore in Continuity Analysis Suppose a program for a continuous specification is continuous. What new kinds of analysis are possible? ◮ With Lipschitz conditions, good behavior on test points spaced at some ∆ guarantees correctness . – p.18

  45. Ideas to Explore in Continuity Analysis Suppose a program for a continuous specification is continuous. What new kinds of analysis are possible? ◮ With Lipschitz conditions, good behavior on test points spaced at some ∆ guarantees correctness ◮ “Random structural testing” is a name for using a uniform profile on each Lipschitz neighborhood – it may not be intractable in the ultrareliable region . – p.18

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