54
Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing, Keynote Address (August 4, 2020) (Incomplete) Active Collaborators: Maaz Ahmad, Todd Anderson, Saman Amarasinghe, Jim Baca, Regina Barzilay, Michael Carbin, Carlo Carino, Alvin Cheung, Pradeep Dubey, Kayvon Fatahalian, Henry Gabb, Craig Garland, Moh Haghighat, Mary Hall, Adam Herr, Jim Held, Roshni Iyer, Nilesh Jain, Tim Kraska, Brian Kroth, Insup Lee, Geoff Lowney, Shanto Mandal, Ryan Marcus, Tim Mattson, Abdullah Muzahid, Mayur Naik, Paul Petersen, Alex Ratner, Tharindu Rusira, Martin Rinard, Vivek Sarkar, Koushik Sen, Oleg Sokolsky, Armando Solar- Lezama, Julia Sukharina, Yizhou Sun, Joe Tarango, Nesime Tatbul, Josh B. Tenenbaum, Jesmin Tithi, Javier Turek, Rich Uhlig, Anand Venkat, Wei Wang, Jim Weimer, Markus Weimer, Fangke Ye, Shengtian Zhou … and many others. Intel Labs

Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Justin Gottschlich

Principal Scientist & Director of Machine Programming Research,

Program Synthesis for Scientific Computing, Keynote Address (August 4, 2020)

(Incomplete) Active Collaborators: Maaz Ahmad, Todd Anderson, Saman Amarasinghe, Jim Baca, Regina Barzilay, Michael Carbin, Carlo Carino, Alvin Cheung, Pradeep Dubey, Kayvon Fatahalian, Henry Gabb, Craig Garland, Moh Haghighat, Mary Hall, Adam Herr, Jim Held, Roshni Iyer, Nilesh Jain, Tim Kraska, Brian Kroth, Insup Lee, Geoff Lowney, Shanto Mandal, Ryan Marcus, Tim Mattson, Abdullah Muzahid, Mayur Naik, Paul Petersen, Alex Ratner, Tharindu Rusira, Martin Rinard, Vivek Sarkar, Koushik Sen, Oleg Sokolsky, Armando Solar-Lezama, Julia Sukharina, Yizhou Sun, Joe Tarango, Nesime Tatbul, Josh B. Tenenbaum, Jesmin Tithi, Javier Turek, Rich Uhlig, Anand Venkat, Wei Wang, Jim Weimer, Markus Weimer, Fangke Ye, Shengtian Zhou … and many others.

Intel Labs

Page 2: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

(Non-Exhaustive) Topics

2

ethics of machine programmingintentional programming and behaviors

learning for adaptive software (and hardware)the future of data, communication, and computation for MP

machine programming using approximate and precise methodsextraction of evolving and multi-dimensional code semanticsnovel structural representations of codehuman-intended and machine-intended programming languagesautomation for software and hardware heterogeneity

MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 3: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

some background3QUESTIONS / COMMENTS: [email protected]

Page 4: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

4QUESTIONS / COMMENTS: [email protected]

The Three Pillars of Machine Programming (MP)Justin Gottschlich, Intel LabsArmando Solar-Lezama, MITNesime Tatbul, Intel LabsMichael Carbin, MITMartin Rinard, MITRegina Barzilay, MITSaman Amarasinghe, MITJoshua B Tenenbaum, MITTim Mattson, Intel Labs

Intention

Invention DataData

Data

Adaptation

• MP is the automation of software development– Intention: Discover the intent of a programmer– Invention: Create new algorithms and data structures– Adaption: Evolve in a changing hardware/software world

Summarized ~90 works.

Key efforts by Berkeley, Google, Microsoft, MIT, Stanford, UW and others.

Page 5: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

5QUESTIONS / COMMENTS: [email protected]

Why call it Machine Programming?

Page 6: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

6

§Alternatives:– Program Synthesis

– AI/ML for Code

– Software 2.0

QUESTIONS / COMMENTS: [email protected]

Why call it Machine Programming?

Page 7: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

7QUESTIONS / COMMENTS: [email protected]

§Alternatives:– Program Synthesis (historically w/ formal methods)– AI/ML for Code (it’s not just AI/ML)

– Software 2.0 (what does this mean?)– And Software 3.0, and 4.0, and 5.0?

§ Aim is to avoid confusion and broaden scope

Why call it Machine Programming?

Page 8: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

8QUESTIONS / COMMENTS: [email protected]

MP USING Approximate and Precise MethodsApproximate Precise

Page 9: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

9QUESTIONS / COMMENTS: [email protected]

MP USING Approximate and Precise MethodsEmerging Solutions Using a fusion of both

Page 10: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

10QUESTIONS / COMMENTS: [email protected]

MP Using Approximate and Precise MethodsEmerging Solutions Using a fusion of both

CAV 2020

ICLR 2019

Page 11: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

MACHINE PROGRAMMING + DEEP LEARNING = Neural Programming?

11MP = MACHINE PROGRAMMING, DL = DEEP LEARNING, QUESTIONS / COMMENTS: [email protected]

Page 12: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

12

ICLR 2017

NEURIPS 2019

MP = MACHINE PROGRAMMING, DL = DEEP LEARNING, QUESTIONS / COMMENTS: [email protected]

MACHINE PROGRAMMING + DEEP LEARNING = Neural Programming?

Page 13: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

13

ICLR 2017

NEURIPS 2019

SOME QUESTIONS:

Only Improved BY RETRAINING?UNDERSTANDABLE, INTERPRETABLE, DEBUGGABLE?

(HALIDE’s Approach is DIFFERENT – which You’ll hear more about)

MP = MACHINE PROGRAMMING, DL = DEEP LEARNING, QUESTIONS / COMMENTS: [email protected]

MACHINE PROGRAMMING + DEEP LEARNING = Neural Programming?

Page 14: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

(Non-Exhaustive) Topics

14

ethics of machine programmingintentional programming and behaviors

learning for adaptive software (and hardware)the future of data, communication, and computation for MP

machine programming using approximate and precise methodsextraction of evolving and multi-dimensional code semanticsnovel structural representations of codehuman-intended and machine-intended programming languagesautomation for software and hardware heterogeneity

MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 15: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

extraction of EVOLVING and multi-dimensional code semantics

15QUESTIONS / COMMENTS: [email protected]

Page 16: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

extraction of EVOLVING and multi-dimensional code semantics

16QUESTIONS / COMMENTS: [email protected]

Page 17: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

extraction of code semantics

17QUESTIONS / COMMENTS: [email protected]

§ Why do we care about code semantics?

Page 18: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

extraction of code semantics

18

§ Why do we care about code semantics?

QUESTIONS / COMMENTS: [email protected]

ICLR 2020

Page 19: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

extraction of code semantics

19

§ Why do we care about code semantics?

QUESTIONS / COMMENTS: [email protected]

ICLR 2020

Page 20: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

extraction Of code semantics

20QUESTIONS / COMMENTS: [email protected]

ICLR 2020

§ Why do we care about code semantics?

§ Hoppity performs well, but infers bug fix semantics

§ How well would it do if the semantics of bug fix are known?

Page 21: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Why Evolving and multi-dimensional CODE semantics?

21QUESTIONS / COMMENTS: [email protected]

Page 22: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Why Evolving and multi-dimensional CODE semantics?

22

§ Code that is used tends to be maintained– “Software that is used is never finished”

§ A code snippet may have multiple semantic meanings

QUESTIONS / COMMENTS: [email protected]

Page 23: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

23

§ Code that is used tends to be maintained– “Software that is used is never finished”

§ A code snippet may have multiple semantic meanings

QUESTIONS / COMMENTS: [email protected]

Why Evolving and multi-dimensional CODE semantics?

Page 24: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Why multi-dimensional CODE semantics?

24QUESTIONS / COMMENTS: [email protected]

PREPRINT

Page 25: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Why multi-dimensional CODE semantics?

25QUESTIONS / COMMENTS: [email protected]

Page 26: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Why multi-dimensional CODE semantics?

26QUESTIONS / COMMENTS: [email protected]

Page 27: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Why multi-dimensional CODE semantics?

27QUESTIONS / COMMENTS: [email protected]

Each of these properties may be useful to know in certain scenarios

Can influence call stacks, speculative execution (branch prediction), etc.

Both implement exponentiation (only integers)Both are correctOne is recursiveOne is iterativeOne has three branch pathsOne has one branch path

Page 28: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Why multi-dimensional CODE semantics?

28QUESTIONS / COMMENTS: [email protected]

Each of these properties may be useful to know in certain scenarios

Can influence call stacks, speculative execution (branch prediction), etc.

Both implement exponentiation (only integers)Both are correctOne is recursiveOne is iterativeOne has three branch pathsOne has one branch path

SOME Challenges:

Lots of codeFew semantic code labels

FIND CLEVER ways to lift semantics?Lift Semantics without Compilation?Find semantics from surroundings?

Page 29: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

(Non-Exhaustive) Topics

29

ethics of machine programmingintentional programming and behaviors

learning for adaptive software (and hardware)the future of data, communication, and computation for MP

machine programming using approximate and precise methodsextraction of evolving and multi-dimensional code semanticsnovel structural representations of codehuman-intended and machine-intended programming languagesautomation for software and hardware heterogeneity

MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 30: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Novel structural representations of code

30

§ Why do we need new code structures?

QUESTIONS / COMMENTS: [email protected]

Page 31: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Novel structural representations of code

31

§ Why do we need new code structures?

QUESTIONS / COMMENTS: [email protected]

OOPSLA 2019

PREPRINT

Page 32: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Novel structural representations of code

32

§ Aroma introduced the simplified parse tree

§ MISIM introduced the context-aware semantics structure

§ These structures have led to state-of-the-art accuracy

QUESTIONS / COMMENTS: [email protected]

OOPSLA 2019

PREPRINT

Page 33: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Novel structural representations of code

33

§ Aroma introduced the simplified parse tree

§ MISIM introduced the context-aware semantics structure

§ These structures have led to state-of-the-art accuracy

QUESTIONS / COMMENTS: [email protected]

OOPSLA 2019

PREPRINT

SOME Challenges:

Good Early Progress

More Structures to Discover / problems to solve(e.g., how to build the Program-derived semantics graph?)

I Imagine a future with structures that are learned

Page 34: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

(Non-Exhaustive) Topics

34

ethics of machine programmingintentional programming and behaviors

learning for adaptive software (and hardware)the future of data, communication, and computation for MP

machine programming using approximate and precise methodsextraction of evolving and multi-dimensional code semanticsnovel structural representations of codehuman-intended and machine-intended programming languagesautomation for software and hardware heterogeneity

MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 35: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

automation for software and hardware heterogeneity

35QUESTIONS / COMMENTS: [email protected]

§ This heterogeneity is generating multiplicative complexity

Page 36: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

automation for software and hardware heterogeneity

36

§ This heterogeneity is generating multiplicative complexity

QUESTIONS / COMMENTS: [email protected]

SIGGRAPH ASIA 2019

SIGGRAPH 2016

Page 37: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

automation for software and hardware heterogeneity

37QUESTIONS / COMMENTS: [email protected]

§ This heterogeneity is generating multiplicative complexity

Page 38: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

§ This heterogeneity is generating multiplicative complexity

automation for software and hardware heterogeneity

38QUESTIONS / COMMENTS: [email protected]

Some Questions:

What are the quality metrics for translation?

Correct & Performance (are probably obvious)

What about Security, maintainability, Power footprint, etc.?

Page 39: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

(Non-Exhaustive) Topics

39

ethics of machine programmingintentional programming and behaviors

learning for adaptive software (and hardware)the future of data, communication, and computation for MP

machine programming using approximate and precise methodsextraction of evolving and multi-dimensional code semanticsnovel structural representations of codehuman-intended and machine-intended programming languagesautomation for software and hardware heterogeneity

MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 40: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

INTENTIONAL PROGRAMMING AND BEHAVIORS

40QUESTIONS / COMMENTS: [email protected]

§ Focus on what the intention is, not how that intention may manifest

Page 41: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

41QUESTIONS / COMMENTS: [email protected]

OOPSLA 2017ICLR 2020

§ Focus on what the intention is, not how that intention may manifest

INTENTIONAL PROGRAMMING AND BEHAVIORS

Page 42: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Halide: A DOMAIN-SPECIFIC & INTENTIONAL Programming Language (Heterogeneous Hardware)

42QUESTIONS / COMMENTS: [email protected]

Intention Adaptation

Credit: Andrew Adams et al.

SIGGRAPH 2019

Credit: Andrew Adams et al.

Page 43: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Halide: SUPER-HUMAN Performance

43QUESTIONS / COMMENTS: [email protected]

SIGGRAPH 2019

Credit: Andrew Adams et al.

Page 44: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

Halide: SUPER-HUMAN Performance

44QUESTIONS / COMMENTS: [email protected]

SIGGRAPH 2019

Credit: Andrew Adams et al.

Some Questions:

Halide is domain-specific, can we do this generally?

can we provide intention-based interfaces to existing widely used languages (C++, Python, JavaScript)?

Page 45: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

(Non-Exhaustive) Topics

45

ethics of machine programmingintentional programming and behaviors

learning for adaptive software (and hardware)the future of data, communication, and computation for MP

machine programming using approximate and precise methodsextraction of multi-dimensional and evolving code semanticsnovel structural representations of codehuman-intended and machine-intended programming languagesautomation for software and hardware heterogeneity

MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 46: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

the future of data, communication, and computation for MP

46

Challenges:§ Computational workload via FM and ML may be large

§ MP data is large, can be dense, and is mostly unlabeled

§ Given this, what does the future MP hardware look like?

FM = Formal Methods, MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 47: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

the future of data, communication, and computation for MP

47

Challenges:§ Computational workload via FM and ML may be large

§ MP data is large, can be dense, and is mostly unlabeled

§ Given this, what does the future MP hardware look like?

I have no idea.

But I do have ideas about things we can think about.

FM = Formal Methods, MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 48: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

the future of data, communication, and computation for MP

48

Some open questions:§ What interfaces do we expect for expression of intention?

– What ramifications are associated with those?

§ What are the core techniques used for MP?– What are the data, communication, and compute implications?

§ We have a massive big data problem in front of us– As of summer 2020, there were over 200M+ github repos

– Code is multi-dimensional by nature

– The size and density of this data implies new frontiers of hardware

MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 49: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

(Non-Exhaustive) Topics skipped

49

ethics of machine programmingintentional programming and behaviors

learning for adaptive software (and hardware)the future of data, communication, and computation for MP

machine programming using approximate and precise methodsextraction of evolving and multi-dimensional code semanticsnovel structural representations of codehuman-intended and machine-intended programming languagesautomation for software and hardware heterogeneity

MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 50: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

(Non-Exhaustive) Topics skipped

50

ethics of machine programmingintentional programming and behaviors

learning for adaptive software (and hardware)the future of data, communication, and computation for MP

machine programming using approximate and precise methodsextraction of evolving and multi-dimensional code semanticsnovel structural representations of codehuman-intended and machine-intended programming languagesautomation for software and hardware heterogeneity

MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 51: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

The era of Machine Programming is NOW

51

We are on the verge of a revolutionary shift

MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 52: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

The era of Machine Programming is NOW

52

We are on the verge of a revolutionary shift

Many institutions are heavily investing in MP– Many large tech companies (Amazon, Google, IBM, Intel, Microsoft, etc.)

– Both research and engineering

– Dozens of startups to solve a single MP problem

– Several leading academic institutions

MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 53: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

The era of Machine Programming is NOW

53

We are on the verge of a revolutionary shift

Many institutions are heavily investing in MP– Many large tech companies (Amazon, Google, IBM, Intel, Microsoft, etc.)

– Both research and engineering

– Dozens of startups to solve a single MP problem

– Several leading academic institutions

We can democratize the creation of software with MP– Imagine a global population, where everyone can express their creativeness

– Imagine a world where coders only spent time expressing our intentions, not fixing code

– What kind of scientific, artistic, innovative things might we discover?

Looking forward to working with many (all?) of you!

MP = Machine Programming, QUESTIONS / COMMENTS: [email protected]

Page 54: Justin Gottschlich - GitHub Pages · 2021. 1. 27. · Justin Gottschlich Principal Scientist & Director of Machine Programming Research, Program Synthesis for Scientific Computing,

54

Machine Programming Inside

QUESTIONS / COMMENTS: [email protected]

Thank you!