Presentation is loading. Please wait.

Presentation is loading. Please wait.

"Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Claus BRABRAND Jan MIDTGAARD Andrzej WASOWSKI Systematic Derivation of ✔ Variability-Aware.

Similar presentations


Presentation on theme: ""Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Claus BRABRAND Jan MIDTGAARD Andrzej WASOWSKI Systematic Derivation of ✔ Variability-Aware."— Presentation transcript:

1 "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Claus BRABRAND Jan MIDTGAARD Andrzej WASOWSKI Systematic Derivation of ✔ Variability-Aware Program Analyses Aleksandar DIMOVSKI DTUITU CORRECT ( MODULARITY 2014 && SCP 2015 )

2 [ 2 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015  Introduction & Motivation:  Variability and Analysis (in 1 slide)  Abstract Interpretation (in 1 slide)  Derivation of Analyses: (intuition!)  Abstract Interpretation  (Constant Propagation)  Derivation of LIFTED Analyses:  Variational Abstract Interpretation  (LIFTED Constant Propagation)  Conclusion Foundation for "reconfigurator" (Andrzej's keynote)

3 [ 3 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Variability and SPLs Variability (SPLs): "Brute force" analysis: x := 0; #ifdef INC x := x + 1; #endif #ifdef NEG x := -x; #endif output x; x := 0; output x; x := 0; x := x + 1; output x; x := 0; x := -x; output x; x := 0; x := x + 1; x := -x; output x; Ø: {INC}:{NEG}:{INC,NEG}: n = 2 |F| "generate'n'analyze"... x is 0x is 1x is -0x is -1

4 [ 4 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 x := 0; output x; x := 0; x := x + 1; output x; x := 0; x := -x; output x; x := 0; x := x + 1; x := -x; output x; Ø: {INC}:{NEG}:{INC,NEG}: Variability and SPLs Variability (SPLs): Previous work on: How to lift (dataflow analysis):...efficiently (in some cases): x := 0; #ifdef INC x := x + 1; #endif #ifdef NEG x := -x; #endif output x; "Intraprocedural Dataflow Analysis for Software Product Lines" ( Brabrand, Ribeiro, Toledo, Borba ) / TAOSD 2013 "SPL LIFT : Statically Analyzing SPLs in Minutes instead of Years" ( Bodden, Toledo, Ribeiro, Brabrand, Borba, Mezini ) AOSD 2012 PLDI 2013 (possibly with sharing) {INC}: x is 1 {INC,NEG}: x is -1 Ø & {NEG}: x is ±0 Lifted Analysis:

5 [ 5 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Motivation SYSTEMATIC LIFTING in general: CORRECTNESS of Lifted Analysis: ABSTRACTION of Variability: UNDERSTANDING Lifting + Analysis: x := 0; #ifdef INC x := x + 1; #endif #ifdef NEG x := -x; #endif output x; {INC}: x is 1 Ø & {NEG}: x is 0 {INC,NEG}: x is -1 Systematic Lifting ? Understanding ? Lifted analysis Lifted language analysis language Analysis Correct ? Abstract Variability ? Lifted... ■ dataflow analysis? ■ control-flow analysis? ■ model checking? ■ type systems? ■ verification? ■ testing? ■...? ? ? ? ? x := 0; #ifdef ABS x := x + 1; #endif #ifdef ABS x := -x; #endif output x; DISABLE: x is 0 ENABLED: x is ⊤

6 [ 6 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Abstract Interpretation The Abstract Interpretation Process: Collecting Semantics: Approximate Analysis: Constant Propagation: C B A No approximation (Undecidable!) Some approximation (Undecidable?) More approximation (Decidable!) derive IMPC BA

7 [ 7 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Var. Abs. Int LIFT SPL Abstract Interpretation: Variational IMP C BA CBA

8 [ 8 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Contributions SYSTEMATIC LIFTING in general: CORRECTNESS of Lifted Analysis: ABSTRACTION of Variability: UNDERSTANDING Lifting + Analysis: Correctness of analyses ! Systematic derivation ! Approximate variability ! Understanding ! Lifted... ■ dataflow analysis! ■ control-flow analysis! ■ model checking! ■ type systems! ■ verification! ■ testing! ■...! ! ! ! !

9 [ 9 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015  Introduction & Motivation:  Variability and Analysis  Abstract Interpretation  Derivation of Analyses:  Abstract Interpretation  (Constant Propagation)  Derivation of LIFTED Analyses:  Variational Abstract Interpretation  (LIFTED Constant Propagation)  Conclusion

10 [ 10 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 From SOS to C Operational Semantics: C Store ➞ Store Like Semantics, but working on sets of stores! Undecidable analysis prepared for subsequent approximation Collecting Semantics: 2 Store ➞ 2 Store...ordered by ' ⊆ ' IMPC BA SOS

11 [ 11 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Galois Connection Relating two domains via abstraction: Concrete Domain: {[x ↦ 1,y ↦ 2], [x ↦ 2,y ↦ 1]} {[x ↦ {1,2},y ↦ {1,2}] } {[x ↦ 1,y ↦ 1], [x ↦ 1,y ↦ 2], [x ↦ 2,y ↦ 1], [x ↦ 2,y ↦ 2]} abstraction Sets of Stores ( 2 Var→Val, ⊆ ) Abstract Domain: Abstract Multi-Value Store (Var→2 Val, ≤ ) ⊆ concretization essentially order-preserving Information Loos IMPC BA

12 [ 12 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Galois Connection Concrete Domain: {[x ↦ 1,y ↦ 2], [x ↦ 2,y ↦ 1]} abstraction Sets of Stores ( 2 Var→Val, ⊆ ) Abstract Multi-Value Store (Var→2 Val, ≤ ) output x*y; { 2 } output x*y; { 1, 2, 4 } ⊆ IMPC BA Abstract Domain: soundness! {[x ↦ {1,2},y ↦ {1,2}] }

13 [ 13 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Abstracting a Function Given 'f : C ➞ C '......we can then derive 'F : A ➞ A ' by 1) concretize 2) apply ' f ' 3) abstract Hence: f C A

14 [ 14 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 IMPC BA Derivation: from C to B Systematic derivation: from C [ if ] to B [ if ] ! Interestingly, this is both a: systematic derivation and proof of correctness (soundness)! B = α ◦ C ◦ γ expand definition of C β reduction α is a CJM reformulate as function composition Note: independent of C ! IH: B = α ◦ C ◦ γ for smaller constituents: ' s 0 ' and ' s 1 ' overapproximation: C and α monotone ▶ =

15 [ 15 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 From C to B ! B C Collecting Semantics: Approximate Analysis: (2 Var ➞ Val ) ➞ (2 Var ➞ Val ) (Var ➞ 2 Val ) ➞ (Var ➞ 2 Val ) Note: independent of C ! IMPC BA However: Still undecidable analysis!

16 [ 16 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Galois Connection Concrete Domain: {[x ↦ {1,2}], [y ↦ {1}]} abstraction Abstract Domain: Constant Prop Info (Var→Const, ⊑ ) Abstract Multi-Value Store (Var→2 Val, ≤ ) {[x ↦ ], [y ↦ ]} 1 Const: IMPC BA

17 [ 17 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 = ▶ Derivation: B to A Systematic derivation: from B [ if ] to A [ if ] ! Again, this is both a: systematic derivation and proof of correctness (soundness)! Note: independent of B ! IMPC BA

18 [ 18 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 From B to A ! B Approximate Analysis: (Var ➞ 2 Val ) ➞ (Var ➞ 2 Val ) (Var ➞ Const) ➞ (Var ➞ Const) A Constant Propagation! Note: independent of B ! NOW: decidable analysis IMPC BA In fact: "constant propagation" !

19 [ 19 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015  Introduction & Motivation:  Variability and Analysis  Abstract Interpretation  Derivation of Analyses:  Abstract Interpretation  (Constant Propagation)  Derivation of LIFTED Analyses:  Variational Abstract Interpretation  (LIFTED Constant Propagation)  Conclusion

20 [ 20 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 A domain = def (i.e., = n copies of ) pointwise! Lifting Domains is lifted to:. a a 1a 1 a 2a 2 a 3a 3 a 4a 4 a 5a 5 a na n... a =

21 [ 21 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Lifting GCs A Galois Connection is lifted :... IMP C BA CBA c c 1c 1 c 2c 2 c 3c 3 c nc n α α α α α γ γ γ γ γ a 1a 1 a a 2a 2 a 3a 3 a na n pointwise! = =

22 [ 22 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Deriving Lifted Analysis Systematic derivation: from A [ if ] to A [ if ] ! Again, derivation & correctness proof ! Note: independent of A ! ▶ = IMP C BA CBA

23 [ 23 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Lifting A to A ! Constant Propagation: (Var ➞ Const) ➞ (Var ➞ Const) A Lifted Constant Propagation: (Var ➞ Const) K ➞ (Var ➞ Const) K A Note: independent of A !

24 [ 24 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015  Introduction & Motivation:  Variability and Analysis  Abstract Interpretation  Derivation of Analyses:  Abstract Interpretation  (Constant Propagation)  Derivation of LIFTED Analyses:  Variational Abstract Interpretation  (LIFTED Constant Propagation)  Conclusion

25 [ 25 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Contributions SYSTEMATIC LIFTING in general: CORRECTNESS of Lifted Analysis: ABSTRACTION of Variability: UNDERSTANDING Lifting + Analysis: Correctness of analyses ! Systematic derivation ! Approximate variability ! Understanding ! Lifted... ■ dataflow analysis! ■ control-flow analysis! ■ model checking! ■ type systems! ■ verification! ■ testing! ■...! ! ! ! !

26 [ 26 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Learn More... Cite (possibly even read) our Papers: "Systematic Derivation of Static Analyses for Software Product Lines" ( Jan Midtgaard, Claus Brabrand, Andrzej Wasowski ) MODULARITY 2014 "Systematic Derivation of Correct Variability-Aware Program Analyses" ( J. Midtgaard, A. Dimovski, C. Brabrand, A. Wasowski ) SCP 2015 "Variability Abstractions: Trading Precision for Speed in Fam.-Based Analyses" ( Aleksandar Dimovski, Claus Brabrand, Andrzej Wasowski ) ECOOP 2015

27 "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 ( T HANKS )

28 [ 28 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Overview: "Var. Abs. Int" IMP C BA CBA

29 "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 BONUS SLIDES

30 [ 30 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Lifting Analyses IMP C BA CBA 1 Complex Function: Problems: Interference! (tuples not independent) Complicate proofs! Simple Functions: Well-behaved subset of Independent functions! Intuition: run analyses in parallel f f1f1 f2f2 f3f3 f4f4 f5f5 fnfn... ✔ However, (ab)use this notation! a 1a 1 a 2a 2 a 3a 3 a 4a 4 a 5a 5 a na n... aa' a 1'a 1' a 2'a 2' a 3'a 3' a 4'a 4' a 5'a 5' a n'a n'... a 1a 1 a 2a 2 a 3a 3 a 4a 4 a 5a 5 a na n aa' a 1'a 1' a 2'a 2' a 3'a 3' a 4'a 4' a 5'a 5' a n'a n'...

31 [ 31 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 IMP C BA CBA Lifting Analyses Consider generate-and-analyze: Note: we end up at the bottom of the diagram!

32 [ 32 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 IMP C BA CBA Lifting Analyses Consider generate-and-analyze: Lifting: Simply apply ∀, pointwise: Specification! Generic lift combinator

33 [ 33 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 "Intraprocedural Dataflow Analysis for Software Product Lines" ( Brabrand, Ribeiro, Toledo, Borba ) AOSD 2012 / TAOSD 2013 "SPL LIFT : Statically Analyzing Software Product Lines in Minutes instead of Years" ( Bodden, Toledo, Ribeiro, Brabrand, Borba, Mezini )PLDI 2013 "Variability-Aware Parsing in the Presence of Lexical Macros and Cond. Compilation" ( Ka ̈ stner, Giarrusso, Rendel, Erdweg, Ostermann, Berger ) OOPSLA 2011 Related Work Lifted representations: Lifted dataflow analyses: Other Lifted analyses: (see citations in paper) "The Choice Calculus: A Representation for Software Variation" ( Erwig, Walkingshaw ) TOSEM 2011 ■ Type systems ■ Well-formedness checking ■ Model checking ■ Verification ■ Testing IMP C BA CBA

34 [ 34 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Related Work (cont'd) Multi-staged program analysis: Abstract Interpretation: "Static Analysis of Multi-Staged Programs via Unstaging Translation" ( Choi, Aktemur, Yi, Tatsuta )SIGPLAN Not., 2011 "Two-Level Functional Languages" ( Nielson, Nielson ) Tracts in Theoretical Computer Science, 1992 "The Calculational Design of a Generic Abstract Interpreter" ( Cousot ) Calculational System Design, 1999 "Systematic Design of Program Analysis Frameworks" ( Cousot, Cousot ) POPL 1979 "Calculating Graph Algorithms for Dominance and Shortest Path" ( Sergey, Midtgaard, Clarke )MPC 2012 "A Structural Soundness Proof for Shivers’s Escape Technique:..." ( Midtgaard, Adams, Might ) SAS 2012

35 [ 35 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 IMP C BA CBA Example: 'IMP' Preprocessor: x := 0; #if INC x := x + 1; #endif #if NEG x := -x; #endif output x; P : IMP × ➞ IMP x := 0; output x; x := 0; x := x + 1; output x; x := 0; x := -x; output x; x := 0; x := x + 1; x := -x; output x; Ø: {INC}:{NEG}:{INC,NEG}:

36 [ 36 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 IMP C BA CBA Example: 'IMP' Syntax of (two-staged) IMP: Set of Features: Configurations: = { INC, NEG } = { Ø, {INC}, {NEG}, {INC,NEG} } = 2 (% invalid) x := 0; #if INC x := x + 1; #endif #if NEG x := -x; #endif output x;

37 [ 37 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Lifting Effect of A vs A Indicative results from SPL LIFT (PLDI 2013): A (TAOSD 2012)...vs... A (PLDI 2013): Analyze Software Product Lines in: Minutes (using A) instead of Years (using A) ! Reaching DefinitionsPossible TypesUninitialized Vars SPL|F|# valid configs AAAAAA Lampiro243m30s42s13s4s3m09s1m25s MM 0892624m29s59s2m06s3s27m39s2m13s GPL191,872days8m48s9h03m39s42sdays7m09s BerkeleyDB39 unknow n years12m04syears24syears10m18s "Intraprocedural Dataflow Analysis for Software Product Lines" ( Brabrand, Ribeiro, Toledo, Borba ) AOSD 2012 / TAOSD 2013 "SPL LIFT : Statically Analyzing Software Product Lines in Minutes instead of Years" ( Bodden, Toledo, Ribeiro, Brabrand, Borba, Mezini ) PLDI 2013

38 [ 38 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Short Abstract We develop a systematic methodology for lifting program analyses to Software Product Lines (SPLs) using abstract interpretation which is a classical framework for deriving static analyses in a compositional, step-by-step manner. We show how to take an analysis expressed as an abstract interpretation and lift each of the steps to a family of programs. Systematic Derivation of Static Analyses for Software Product Lines

39 [ 39 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Abstract A recent line of work lifts particular verification and analysis methods to Software Product Lines (SPL). In an effort to generalize such case- by-case approaches, we develop a systematic methodology for lifting program analyses to SPLs using abstract interpretation. Abstract interpretation is a classical framework for deriving static analyses in a compositional, step-by-step manner. We show how to take an analysis expressed as an abstract interpretation and lift each of the abstract interpretation steps to a family of programs. This includes schemes for how to lift domain types, Galois connections, and combinators for lifting analyses. We prove that for analyses developed using our method, the soundness of lifting follows by construction. Finally, we discuss approximating variability in an analysis and we derive variational data- flow equations for an example analysis, a constant propagation analysis for a simple imperative language.

40 [ 40 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Galois Connection Lots of interesting properties:

41 [ 41 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Combinatorial Explosion ! 33 2 320 10 000 x := 0; #ifdef INC x := x + 1; #endif #ifdef NEG x := -x; #endif output x; 2 2 = 4 products 2 33 > Earth's Population 2 320 > Atoms in Universe Post-Astronomical # ! independent options options independent options [ Thanks to C. Kästner ]

42 [ 42 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 The 'Var. Abs. Int' Methodology BASE (classic abstract interpretation): 1) Develop formal SOS semantics 2) Devise collecting semantics 3) Compose GC's and derive until "good analysis" LIFT (from program to program families): 4) Extend language with preprocessor 5) Apply lifting combinator to get to family level 6) Simplify to direct expression for lifted analysis –) Correctness (soundness) follows by construction Variability abstractions: v1) Decide when to lift to program families v2) Apply lifting combinator to get to family level v3) Devise GC's that abstract configuration space! v4) Simplify to direct expression for lifted analysis ++ v–) Correctness (soundness) follows by construction

43 [ 43 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Example: 'IMP' Syntax: Semantics (small-step SOS): IMPC BA

44 [ 44 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Galois Connection Galois Connection: Pair of functions: abstraction: concretization: Satisfying: Relating two domains via abstraction: "order preserving information loss"

45 [ 45 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 From C to B... A Galois Connection: from C to B : Sets-of-Stores: 2 Var ➞ Val Multi-Value-Store: Var ➞ 2 Val abstract output x*y; { 2 } output x*y; { 1, 2, 4 } ⊆ IMPC BA Merge w prev slide Add concretization

46 [ 46 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 'IMP' Syntax of (two-staged) IMP: Set of Features: Configurations: Satisfiability of ' #if ' formulae, : x := 0; #if INC x := x + 1; #endif #if NEG x := -x; #endif output x; = { INC, NEG } = { Ø, {INC}, {NEG}, {INC,NEG} } ✔ ✘ k = {NEG} = 2 (% invalid)

47 [ 47 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 'IMP' Semantics via preprocessor: x := 0; #if INC x := x + 1; #endif #if NEG x := -x; #endif output x; x := 0; x := -x; output x; {NEG}: P : IMP × ➞ IMP ✔ ✘ k = {NEG}

48 [ 48 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Extracting Dataflow Equations Constant propagation analysis: A Dataflow Equations: TRIVIAL

49 [ 49 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Lifting Dataflow Equations Lifted Constant Propagation: A Lifted Dataflow Equations: Soundness by construction TRIVIAL

50 [ 50 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 From C to B... A Galois Connection: from C to B : Sets-of-Stores: 2 Var ➞ Val Multi-Value-Store: Var ➞ 2 Val abstract output x*y; { 2 } output x*y; { 1, 2, 4 } ⊆ IMPC BA

51 [ 51 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 GC from B to A... Another Galois Connection: from B to A : abstract b = [ x {1,2}, y {1} ] a = α BA (b) = [ x, y 1 ] Multi-Value-Store: Var ➞ 2 Val Const-Prop: Var ➞ Const IMPC BA

52 [ 52 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Software Product Line (Simple Toy Example): Derived products/variants: Example: 'IMP' x := 0; #ifdef INC x := x + 1; #endif #ifdef NEG x := -x; #endif output x; x := 0; output x; x := 0; x := x + 1; output x; x := 0; x := -x; output x; x := 0; x := x + 1; x := -x; output x; Ø: {INC}:{NEG}:{INC,NEG}:

53 [ 53 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Generate-and-Analyze: Example: 'IMP' x := 0; #ifdef INC x := x + 1; #endif #ifdef NEG x := -x; #endif output x; x := 0; output x; x := 0; x := x + 1; output x; x := 0; x := -x; output x; x := 0; x := x + 1; x := -x; output x; Ø: {INC}:{NEG}:{INC,NEG}: x is 0 x is 1x is -0x is -1 {INC}: x is 1 {INC,NEG}: x is -1 Ø & {NEG}: x is 0 Analyze SPL directly! (possibly with sharing)

54 [ 54 ] "Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Lifted Analyses Var ・ Abs ・ Int SCP'15/ (Modularity'14) DFA - 4 - SPL TAOSD'13 (AOSD'12) Model Checking Testing Type Systems Control-Flow Analysis SPL LIFT PLDI'13 Reaching Definitions Constant Propagation Calculational Abstract Interpretation Monotone Framework IFDS


Download ppt ""Derivation of Variability-Aware Program Analyses" May, 2015 FOSD 2015 Claus BRABRAND Jan MIDTGAARD Andrzej WASOWSKI Systematic Derivation of ✔ Variability-Aware."

Similar presentations


Ads by Google