Complexity is the Only Constant: Trends in Computing...

39
Complexity is the Only Constant: Trends in Computing & Their Relevance to MDE Juergen Dingel July 5, 2016

Transcript of Complexity is the Only Constant: Trends in Computing...

Page 1: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Complexity is the Only Constant:

Trends in Computing &

Their Relevance to MDE

Juergen Dingel

July 5, 2016

Page 2: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

30 Years Ago at the TU Berlin

2 /37

Page 3: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Goals for This Talk

� The more things change, the more they

stay the same

• Changes: Progress

• Constants: Complexity & techniques to deal

� Highlight some select work

• Semantics engineering

• Synthesis

• Provenance

3

Find research

opportunities

Point out

commonalities,

core principles

Inspire

(to “stay broad”)

“Down

with

the

silos”

/37

Page 4: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

48 Years Ago at 1st NATO SW Eng Conference

4

HW computing power ⇑⇑⇑⇑⇒ Complexity of tasks SW asked to do ⇑⇑⇑⇑⇒ Complexity of SW ⇑⇑⇑⇑⇒ Existing SW development capabilities strained

⇒“Software crisis”/37

Page 5: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Since Then: LOTS of Progress

� Hardware

• Computing power (2016 vs 1969) [Paul Ledak on quora.com]:

° Number of transistors:

q iPhone 6 = Apollo 11 GC x ?

° Clock frequency:

q iPhone 6 = Apollo 11 GC x ?

° Instructions per second:

q iPhone 6 = Apollo 11 GC x ?

° Overall:

q iPhone 6 = Apollo 11 GC x ?

• Cost of 1 MB of memory in US$ [www.jcmit.com]:

° Dec 2015 = 1957 / ?

5

100 billion

180,000

32,000

80 million

120 million

/37

Page 6: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Since Then: LOTS of Progress� Software engineering

• Information hiding via modularization, encapsulation, interfaces, MDE, …

� Programming languages

• Compilers, user-defined data types, OO, …

� Data bases

• Relational model, …

� Operating systems

• Virtual memory, …

6

“The system

shall do this,

that, and the

other thing”

Today

manual automatic

“The system shall do

this, that, and the

other thing”

40 years ago

manual automatic

/37

Page 7: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Since Then: LOTS of Progress� Software engineering

• Information hiding via modularization, encapsulation, interfaces, MDE, …

� Programming languages

• Compilers, user-defined data types, OO, …

� Data bases

• Relational model, …

� Operating systems

• Virtual memory, …

7

Key general techniques:

Abstraction, automation, and analysis

“The system

shall do this,

that, and the

other thing”

Today

manual automatic

“The system shall do

this, that, and the

other thing”

40 years ago

manual automatic

/37

Page 8: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Even the Game Industry is Using MDE Now

8

Screenshot courtesy Nick Graham

http://docs.unity3d.com/Manual/Animator.html

/37

Page 9: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

But, We Still Seem to Be in Crisis

9

Slide used by R. Baillargeon at

MASE’15 workshop at MODELS’15

Avionics: limits of affordability near

The cautionary tale of Chord

Still valid

/37

Page 10: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

The Cautionary Tale of Chord

Chord: Distributed hash table [Chord01]

[Chord01] Stoica, Morris, Karger, Kaashoek, Balakrishnan. “Chord: A scalable

peer-to-peer lookup service for Internet applications”. SIGCOMM. 2001.

� “3 features that distinguish Chord from many other peer-to-peer lookup

protocols are its simplicity, provable correctness, and provable performance”

� Papers present properties, invariants and manual proofs

� 4th most-cited paper in CS for years (CiteSeer)

� 2011 SIGCOMM Test-of-Time Award

10

“Unfortunately, the claim of correctness is not true. The original specification […]

does not have eventual reachability, and not one of the seven properties claimed

to be invariants […] is actually an invariant.”

“For complex protocols such as Chord, there is every reason to use lightweight

modeling as a design and documentation tool”

P. Zave. 2012.

Various papers on http://www.research.att.com/~pamela/chord.html

Page 11: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Research Landscape is Complex, too

11

http://blueballfixed.ytmnd.com/

ICGTSemantics

Engineering:Sweating the

small stuff

Synthesis

Provenance

Machine

LearningHCI

ProgrammingLanguages

/37

Page 12: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Semantics Engineering: Background

Big advances in use of formal semantics

E.g., formalization (and verification) of

• OS kernels [Klein et al, CACM’10]

• Programming languages (Java, JS) [Rosu et al, ‘15]

• (Optimizing) compilers [CompCert, CACM’09]

• Concurrent code

° Fine-grained locking (‘hand-over-hand locking’)

° Lock-free data structures (‘lock-free queues’)

° Preemptive OS kernels [Feng et al, CAV’16]

12

First-order logic, Isabelle/HOL

Rewrite logic, Maude

First-order logic, Coq

Separation logic

/37

Page 13: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Next: Verifying Entire Software Stacks

The science of deep specification [DeepSpec.org, Appel et al,

US$10million over 5 years from NSF]

13

http://deepspec.org/research/

/37

Page 14: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Semantics Engineering

What

• Notations, techniques, tools for creating, manipulating, analyzing

formal descriptions of (execution) semantics (of a language)

• To facilitate analysis, development of supporting tooling, …

Inspiration

Make descriptions of execution semantics as useful and common as

descriptions of syntax

14

parser

smart editor

validator

Interpreter

Compiler

Model checker

Symbolic executionSyntax Semantics

type checker

“A language is only as good

as its supporting tooling”

[Bran Selic]/37

Page 15: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Semantics Engineering: Some Related Work

Notations to specify semantics

• Rewrite logic (Maude [Marti-Oliet & Meseguer et al, ‘98])

• Graph transformation (e.g., Dynamic MM [Engels et al, ‘00],

Mograms [Kleppe, ‘08])

• DSL (e.g., PLT Redex [Felleisen, Findler & Flatt, ‘09])

Use semantics to customize supporting tools

• Code generation [Day & Atlee et al, ‘12]

• Interpretation [Dingel & Zurowska, ‘14]

Use semantics to generate supporting tools

• ASF+SDF [van den Brand & Klint et al, ‘05]

• TSL [Lim & Reps, ’13]

15/37

Page 16: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

TSL: Generating Analyzers from Semantics

16

TSL

Operational

semantics of

instruction set

of assembly

language L

Abstract

domain 1

Abstract

transformers

of instructions

Static

analyzer

for L

Dynamic

analyzer

for L

Symbolic

analyzer

for L

.

.

.

Abstract

domain n

.

.

.

/37

Page 17: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

TSL

17

Standard

interpretation

Abstract interpretation:

‘signs’ analysis in two’s-complement

Semantic

core

Page 18: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

TSL

Results

• CodeSurfer/x86 (1 vs 20 man months)

• Generated transformers very precise (optimal for 97.5% instructions)

• Different static analyses for IA32 and PowerPC

• Model checker

• Botnet analyzer

• Represents an astounding unification of research topics

18/37

Page 19: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Semantics Engineering: Concluding Remarks

� Significant progress

� Open questions

• Most suitable ways to specify semantics?

° DSL (e.g., TSL, PLTRedex)

° Translation to GPL (e.g., Xsemantics)

° First-order logic (e.g., CompCert)

° Rewrite logic (e.g., Maude)

° Graph transformation

• How to improve support?

° Testing, analysis (e.g., Groove)

° Visualization

° Automation

• “Killer applications”?

° DSL integration?

19/37

Page 20: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Research Landscape is Complex, Too

20

ICGTSemantics

Engineering:Sweating the

small stuff

Synthesis:Chasing the

dream

Provenance

http://blueballfixed.ytmnd.com/

Machine

LearningHCIProgramming

Languages

/37

Page 21: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Synthesis

ExCAPE project in US (UPenn, Berkeley, MIT, Cornell, …),

https://excape.cis.upenn.edu/

21/37

Page 22: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

ExCAPE: Some Results [Alur et al, 2015]

(Semi-automatic) synthesis of, e.g.,

• Program from specs (e.g., pre-, post, program template)

• Protocols from partial EFSMs, invariants, and scenarios

• Spreadsheet expressions from examples

• Biological models

• Optimal programs (e.g., bitvector manipulation, array search)

22

Key techniques• SMT and SAT

• Machine learning

• DSLs

/37

Page 23: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Synthesis: So What?

Enable more abstraction and automation for, e.g.,

• More user-friendly, yet executable specifications

• Treatment of partial, incomplete models

° Automatic completion, early analysis

⇒ Finding problems earlier

23

Time when ‘bug’

was introduced

Cost

to

fix

‘bug’

/37

Page 24: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Key Techniques

� Constraints and constraint solving

• Better integration into PLs

° Constraints , solving, symbolic variables, …

° GPLs: e.g., Kaplan = Scala+Contraints [Kuncak et al, POPL’12]

° DSLs: e.g., Rosette = framework for solver-aided DSLs [Torlak et al, Onward!’13]

� Counter example-guided inductive synthesis (CEGIS)

° Learning from examples and counter-examples

° Solves “∃x. ∀y. ϕ(x,y)” type formulas

° Often ‘syntax-guided’: “∃x∈G. ∀y.ϕ(x,y)”

� DSLs

• Define manageable candidate space G

� Machine learning (inductive inference)

24/37

Page 25: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Key Techniques

� Constraints and constraint solving

• Better integration into PLs

° Constraints , solving, symbolic variables, …

° GPLs: e.g., Kaplan = Scala+Contraints [Kuncak et al, POPL’12]

° DSLs: e.g., Rosette = framework for solver-aided DSLs [Torlak et al, Onward!’13]

� Counter example-guided inductive synthesis (CEGIS)

° Learning from examples and counter-examples

° Solves “∃x. ∀y. ϕ(x,y)” type formulas

° Often ‘syntax-guided’: “∃x∈G. ∀y.ϕ(x,y)”

� DSLs

• Define manageable candidate space G

� Machine learning (inductive inference)

25/37

Questions:How could these techniques be used to facilitate, e.g., • use of more user-friendly (‘declarative’) models

• completion, execution, analysis of partial, incomplete models

• model transformation

• design space exploration

• …

Page 26: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

CEGIS for

Interfaces & Implementations?

Interface extraction

26

C1 C2

Spec?

∃Spec. ∀e∈Exec(C1 |||||||| C2). Conform(e, Spec)

Implementation generation

C? Spec2Spec1

∃C. ∀e∈Exec(C |||||||| Spec1 |||||||| Spec2). Complete(e, C)

/37

Page 27: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

CEGIS for Model Transformations?

Transformation generation

27

∃T. ∀M. ϕ(M, T(M))

MT?

T(M)

Transformation implementation

M∃M’. ϕ(M, M’)

M’

/37

Page 28: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Research Landscape is Complex, Too

28

ICGTSemantics

Engineering:Sweating the

small stuff

Synthesis:Chasing the

dream

Provenance:How computers

have broken

science

http://blueballfixed.ytmnd.com/

Machine

LearningHCIProgramming

Languages

/37

Page 29: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

A Lot of Modern Society Relies on

Hartmut’s Diagram

29

Real problem

in real world

Solution to

real problem

Mathematical model

with precise account

of problem

Solution

in model

Model creation

Computation

in model

Application

Problem

solving

Data

Scientific

result

Policy

decision

Management

recommendation

Ad

placement

Maintenance

plan

Medical

guideline

“Programs can be analyzed

productively with statistical

models”

[Devanbu et al, CACM’16]

“Executable model of

gene expression”

[Fisher et al, CAV’16]

“CDC Concludes Zika

Causes Microcephaly”

[04/13/16]

“Russian Track and

Field Team Barred

From Rio Olympics”

[NY Times, 06/17/16]

/37

Page 30: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

But There are Problems

30

Real problem

in real world

Solution to

real problem

Mathematical model

with precise account

of problem

Solution

in model

Model creation

Computation

in model

Application

Problem

solving

Data

“Debt is bad for growth”

How good is our

implementation

of this process?

• Reproducibility?

Methodology flawed! [2013]

/37

Page 31: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Reproducibility

31

Economics: 78% of 162 replication studies disconfirm major finding of original study

[Duvendack et al, 2015]

Computer systems:

Of 402 papers:• No or negative response: 176 (43%)

• Code built in less than 30mins: 130 (32%)

[Colberg et al, CACM’16]

How computers broke science :“But, since the introduction of the personal computer […] reproducibility of much

research has become questionable, if not impossible.

Too much of the research process is now shrouded by the opaque use of computers

that many researchers have come to depend on.”

[B. Marwick, Nov 2016]

/37

Page 32: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Computation

in model

But There are Problems

32

Real problem

in real world

Solution to

real problem

Mathematical model

with precise account

of problem

Solution

in model

Model creation

Application

Problem

solving

Data

“Debt is bad for growth”

How good is our

implementation

of this process?

• Reproducibility?

Methodology flawed! [2013]

• Quality, accuracy,

availability,

trustworthiness, …

ofdata, software,

hardware, people, … ?

/37

Page 33: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

What to Do

� Produce better code

• “code for people”, “add assertions”, “use off-the-shelf unit

testing library”, “write code in the highest-level language

possible”, “use version control”, “document design and

purpose, not mechanics”, “use issue tracking tool”, “use pair

programming”

[Wilson et al, PLoS Biology 2014]

� Open data, open formats, standards, open source sw

• Big topic at SC’15

• Artifact submission & evaluation (19 CS conferences since ’11)

° STAF?, MODELS?

� Record everything needed to

• recreate output (e.g., sources, workflows,

versions of data, software, and hardware)

• assess quality of relevant artifacts, processes33

Work

in

progress

Oh,

really?

“Provenance”

/37

Page 34: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Open Provenance Model (OPM)

� Metamodel

• Nodes

° Process, Artifact, Roles

• Edges

° 4 different kinds

qgeneratedBy ⊆ Art×Roles×Proc

qderivedFrom ⊆ Art×Art

qused ⊆ Proc×Roles×Art

q informedBy ⊆ Proc×Proc

• Time

� Semantics

OPM graphs as temporal theories over events [Moreau et al, TWEB’15]

34

process

artifact

/37

Page 35: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

35

generatedBy⊆ Art×Roles×Proc

used ⊆ Proc×Roles×Art

derivedFrom⊆ Art×Art

informedBy⊆ Proc×Proc

Take Order

order

process

artifact

Operations: union,

intersection,

merge,

renaming,

refinement,

completion,

summarization,

/37

[Moreau et al, TWEB’15]

A model of an OPM graph G is a triple (T, ≤, τ), where• T set of time points,

• ≤ is a partial order on T

• τ is a mapping from Events(G) to T

where

Events(G) = {begin(P),end(P) | P⊆Proc} ∪ {create(A) | A⊆Art} ∪ …

such that ∀P∈Proc. begin(P) ≤ end(P),

∀(A,r,P)∈generatedBy. begin(P) ≤ create(A) ≤ end(P),

etc

axioms

Page 36: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Provenance: Concluding Observations

� Will receive growing attention

� Provenance models seem ‘right down our alley’

• Implementation in GT tools?

• Extending semantics (agents, refinement, parallelism)?

� Provenance for model transformations

• Leverage existing work on traceability?

⇒ “Model transformations that explain their work”?

[Acar et al. Functional Programs that Explain their Work. ICFP’12]

� Relevance of work on

• model management?

• model-driven compliance?

Page 37: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Research Landscape is Complex, Too

37

ICGTSemantics

Engineering:Sweating the

small stuff

Synthesis:Chasing the

dream

Provenance:How computers

have broken

science

http://blueballfixed.ytmnd.com/

Machine

LearningHCI

ProgrammingLanguages

/37

Page 38: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

Conclusions

� The more things change, the more they stay the same

• Increasing HW power ⇒⇒⇒⇒ progress, but also more complexity

• Complexity

vs

abstraction, automation, analysis

(core ingredients not just to MDE)

� Worth looking at

• Semantics engineering

• Synthesis (see other keynotes)

• Provenance

� How can STAF contribute to more ‘repeatable’ science?

� Defy the silos, become as broad as you can

38

In the context of

DSLs many

challenges become

more manageable

/37

Page 39: Complexity is the Only Constant: Trends in Computing ...staf2016.conf.tuwien.ac.at/wp-content/uploads/ICGT2016-JuergenDi… · 48 Years Ago at 1 st NATO SW Eng Conference 4 ... •

v

39

Thank you for your attention