Certificate Translation for Specification Preserving Advices Gilles - - PowerPoint PPT Presentation

certificate translation for specification preserving
SMART_READER_LITE
LIVE PREVIEW

Certificate Translation for Specification Preserving Advices Gilles - - PowerPoint PPT Presentation

Certificate Translation for Specification Preserving Advices Certificate Translation for Specification Preserving Advices Gilles Barthe and Csar Kunz INRIA Sophia Antipolis - Mditerrane FOAL 2008 Csar Kunz (with Gilles Barthe) FOAL


slide-1
SLIDE 1

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

Certificate Translation for Specification Preserving Advices

FOAL 2008 Gilles Barthe and César Kunz INRIA Sophia Antipolis - Méditerranée

slide-2
SLIDE 2

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

MOTIVATION SPECIFICATION PRESERVING ADVICES PROVING SPECIFICATION PRESERVING ADVICES REDUCING PROOF OBLIGATIONS IMPROVING THE VERIFICATION POWER CERTIFICATE TRANSLATION

slide-3
SLIDE 3

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

3

Local reasoning on:

  • Baseline Code (to understand main functionality)
slide-4
SLIDE 4

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

4

Local reasoning on:

  • Baseline Code (to understand main functionality)
  • Advice Code

(to understand the implemented aspect Incremental concerns:

  • Contract enforcement
  • Logging / Profiling
  • Evolving Security Requirements
slide-5
SLIDE 5

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

5

Local reasoning on:

  • Baseline Code (to understand main functionality)
  • Advice Code

(to understand the implemented aspect Global analysis of pointcuts to understand interaction of aspects Incremental concerns:

  • Contract enforcement
  • Logging / Profiling
  • Evolving Security Requirements
slide-6
SLIDE 6

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

6

Dantas & Walker [POPL06]:

  • characterize Harmless Advices that

allow local reasoning

  • information flow analysis to check

advice non-interference.

Producer vs Consumer Perspective

Obliviousness -> Local Reasoning? Syntactic Obliviousness vs. Semantic Obliviousness Syntactic Obliviousness is not enough baseline code Satisfies contract P Advice code baseline code Satisfies contract P

  • functional properties (logic formulae)
  • Absence of null pointer access
  • Type Safety, etc.

PCC setting: contract enforcement Contract preserv. vs semantic preserv weaker requirement

slide-7
SLIDE 7

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

7

MOTIVATION SPECIFICATION PRESERVING ADVICES PROVING SPECIFICATION PRESERVING ADVICES REDUCING PROOF OBLIGATIONS IMPROVING THE VERIFICATION POWER CERTIFICATE TRANSLATION

slide-8
SLIDE 8

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

8

Strong specification Harmless

  • Spec. preserving

NO NO

Specification Preserving Advices

slide-9
SLIDE 9

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

9

Harmless

  • Spec. preserving

NO YES

Specification Preserving Advices

slide-10
SLIDE 10

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

10

Harmless

  • Spec. preserving

YES NO

Specification Preserving Advices

slide-11
SLIDE 11

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

11

A specification preserving advice may modify variables in the specification.

  • Output value may differ
  • is not invalidated.
  • is ensured.

Harmless

  • Spec. preserving

NO YES

Specification Preserving Advices

slide-12
SLIDE 12

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

12

MOTIVATION SPECIFICATION PRESERVING ADVICES PROVING SPECIFICATION PRESERVING ADVICES REDUCING PROOF OBLIGATIONS IMPROVING THE VERIFICATION POWER CERTIFICATE TRANSLATION

slide-13
SLIDE 13

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

13

Proving spec-preservation

f f Verification of spec. preservation: wp-based Vcgen over modified advice code. Baseline Code Verification: wp-based Vcgen

slide-14
SLIDE 14

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

14

f f

Proving spec-preservation

slide-15
SLIDE 15

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

15

MOTIVATION SPECIFICATION PRESERVING ADVICES PROVING SPECIFICATION PRESERVING ADVICES REDUCING PROOF OBLIGATIONS IMPROVING THE VERIFICATION POWER CERTIFICATE TRANSLATION

slide-16
SLIDE 16

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

16

Specification Harmless Advices

slide-17
SLIDE 17

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

17

Specification Harmless Advices

slide-18
SLIDE 18

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

18

Specification Harmless Advices

slide-19
SLIDE 19

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

19

Does not modify V and res=x Does not modify V

Specification Harmless Advices

slide-20
SLIDE 20

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

20

Does not modify V and res=x Does not modify V

Specification Harmless Advices

slide-21
SLIDE 21

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

21

Does not modify V and res=x Does not modify V Does not modify V and res=x Does not modify V

Specification Harmless Advices

slide-22
SLIDE 22

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

22

Does not modify V and res=x Does not modify V Does not modify V and res=x Does not modify V

Specification Harmless Advices

slide-23
SLIDE 23

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

23

MOTIVATION SPECIFICATION PRESERVING ADVICES PROVING SPECIFICATION PRESERVING ADVICES REDUCING PROOF OBLIGATIONS IMPROVING THE VERIFICATION POWER CERTIFICATE TRANSLATION

slide-24
SLIDE 24

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

24

f f

IMPROVING THE VERIFICATION POWER

slide-25
SLIDE 25

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

25

f f g g

IMPROVING THE VERIFICATION POWER

slide-26
SLIDE 26

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

26

Drawback Multiple advised procedures = multiple verification invariants. f f g g Or you want to verify the advice locally without considering for the moment in which contexts it will be executed!

IMPROVING THE VERIFICATION POWER

slide-27
SLIDE 27

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

27

Drawback (specification of proceed improves modularity) Multiple advised procedures = multiple verification invariants. f f g g Or you want to verify the advice locally without considering for the moment in which contexts it will be executed!

IMPROVING THE VERIFICATION POWER

slide-28
SLIDE 28

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

28

Some advices are be spec-preserving when combined but not when analyzed in isolation ... ... ... Interference is not always a bad thing.

IMPROVING THE VERIFICATION POWER

slide-29
SLIDE 29

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

29

Baseline proc.

...

IMPROVING THE VERIFICATION POWER

slide-30
SLIDE 30

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

30

Baseline proc. Baseline proc.

...

IMPROVING THE VERIFICATION POWER

slide-31
SLIDE 31

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

31

Baseline proc. Baseline proc.

...

IMPROVING THE VERIFICATION POWER

slide-32
SLIDE 32

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

32

Baseline proc. Baseline proc.

...

IMPROVING THE VERIFICATION POWER

slide-33
SLIDE 33

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

33

Baseline proc.

. . .

... Baseline proc.

...

IMPROVING THE VERIFICATION POWER

slide-34
SLIDE 34

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

34

Baseline proc.

. . .

... Baseline proc.

...

IMPROVING THE VERIFICATION POWER

slide-35
SLIDE 35

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

35

Specification Refinement instead of Specification Preservation Baseline proc.

. . .

...

IMPROVING THE VERIFICATION POWER

slide-36
SLIDE 36

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

36

MOTIVATION SPECIFICATION PRESERVING ADVICES PROVING SPECIFICATION PRESERVING ADVICES REDUCING PROOF OBLIGATIONS IMPROVING THE VERIFICATION POWER CERTIFICATE TRANSLATION

slide-37
SLIDE 37

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

37

Certificate Translation

slide-38
SLIDE 38

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

38

. . . . . . Execution OK Code Certificate Code Certificate Code Certificate Baseline Code Producer Advice Code Producer Advice Code Producer Producer Side Consumer Side Consider the situation:

  • Client verification and execution environment not AOP-oriented
  • Code generated by multiple producers is weaved before execution

Proof Checker Weaved Code Code Weaving

Certificate Translation

slide-39
SLIDE 39

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

39

. . . Code Certificate Code Certificate Code Certificate . . . Weaved Code Execution Proof Checker OK Baseline Code Producer Advice Code Producer Advice Code Producer Producer Side Consumer Side Code Weaving

Certificate Translation

Certificate Consider the situation:

  • Client verification and execution environment not AOP-oriented
  • Code generated by multiple producers is weaved before execution

Certificate Translation

slide-40
SLIDE 40

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

40

Baseline Source Code

Compiler

Low level Code

Certificate Translation

High level/structured Low level/stack based

slide-41
SLIDE 41

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

41

Baseline Source Code

Certificate Translation

Certificate

Compiler

Low level Code Certificate

Certificate Translation

High level/structured Low level/stack based

slide-42
SLIDE 42

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

42

Baseline Source Code Advice Source Code Final Weaved Code

Certificate Translation

Certificate

Compiler

Low level Code Certificate

Compiler + Weaving

Certificate Translation

High level/structured Low level/stack based

slide-43
SLIDE 43

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

43

Baseline Source Code Advice Source Code Final Weaved Code

Certificate Translation

Certificate

Compiler

Low level Code Certificate

  • Cert. Trans.

for adv. weaving Compiler + Weaving

Certificate

  • preserv.

Certificate

Certificate Translation

High level/structured Low level/stack based

slide-44
SLIDE 44

César Kunz (with Gilles Barthe) Certificate Translation for Specification Preserving Advices FOAL 2008

44

Conclusions

  • A more flexible notion of non-interfering advices
  • Stronger non-interference analyses reduce proof obligations
  • Certificate translation targetting a typical backend