The Big Picture Related Work Practical Considerations The - - PowerPoint PPT Presentation

the big picture
SMART_READER_LITE
LIVE PREVIEW

The Big Picture Related Work Practical Considerations The - - PowerPoint PPT Presentation

The Big Picture Related Work Practical Considerations The Boundaries of Our Methods Code Synthesis for (int i = 0; i < 10; i++){ Token en Console.WriteLine(i); } ForStatement ions ns Expression Expression Body Initialization


slide-1
SLIDE 1
slide-2
SLIDE 2

The Big Picture Practical Considerations Related Work The Boundaries of Our Methods

slide-3
SLIDE 3
slide-4
SLIDE 4

Code Synthesis

slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7

for (int i = 0; i < 10; i++){ Console.WriteLine(i); }

ForStatement Initialization Expression Expression Body Single Variable Declaration Type int Name Initializer Numeric Literal i Infix Expression Left Operand Right Operand Operator < Numeric Literal 10 i

Syntax tax

Cod

  • de

e Rep epresentat esentatio ions ns

Token en Graph ph

i=0 i<10 Console.WriteLine(i) i++ END
slide-8
SLIDE 8

Hindle et al. “On the naturalness of software” ICSE 2012

Image from Allamanis & Sutton, MSR 2013

Pr Program ramming ming La Languag uage e Mo Model els

slide-9
SLIDE 9

Su Suggest stio ions ns

  • 1. job (30%)
  • 2. task (20%)
  • 3. tsk (15%)

ForkJoinTask<?> job; if (task instanceof ForkJoinTask<?>) // avoid re-wrap job = (ForkJoinTask<?>) task; else job = new ForkJoinTask.AdaptedRunnableAction(task); externalPush(job);

Allamanis et al. FSE 2014, 2015 and other recent work

slide-10
SLIDE 10

http://groups.inf.ed.ac.uk/cup/naturalize

slide-11
SLIDE 11

http://groups.inf.ed.ac.uk/cup/naturalize

slide-12
SLIDE 12
slide-13
SLIDE 13

Raychev et al. 2014 Nguyen et al. 2013,2015 Oda et al. ASE 2015

slide-14
SLIDE 14

Balog et al. “DeepCoder: Learning to Write Programs”, 2016

slide-15
SLIDE 15

Balog et al. “DeepCoder: Learning to Write Programs”, 2016

slide-16
SLIDE 16

Raychev et al. “Predicting Program Properties from Big Code”, 2015

slide-17
SLIDE 17

Allamanis et al. “Learning to Represent Programs with Graphs”, 2017

slide-18
SLIDE 18

https://github.com/dotnet/roslyn/pull/23437

slide-19
SLIDE 19

Metrics Low-Resource Environments Confidentiality Train/Use Costs Explainability Train-Use & Feedback Loop

slide-20
SLIDE 20

The Frontiers of Our Methods

slide-21
SLIDE 21

Allamanis et al, “ A Convolutional Attention Network for Extreme Summarization

  • f Source Code”, ICML 2016

Predictions

  • get, UNK (9%)
  • get, height (8.7%)
  • get, width (6.5%)
  • get (5.7%)
  • get,size (4.2%)
slide-22
SLIDE 22

Gaunt et al, “T erpreT: A Probabilistic Programming Language for Program Induction”, 2016

slide-23
SLIDE 23

SemVecs

Syntax-driven but small changes in syntax can lead in large changes in semantics

Zaremba et al. 2014 Allamanis et al. 2017

slide-24
SLIDE 24
slide-25
SLIDE 25

http://groups.inf.ed.ac.uk/cup/semvec/

t-SNE Visualization SimpPoly8

slide-26
SLIDE 26

http://groups.inf.ed.ac.uk/cup/semvec/

t-SNE Visualization Bool10-UnseenTest

slide-27
SLIDE 27

http://groups.inf.ed.ac.uk/cup/semvec/

t-SNE Visualization Bool10-UnseenTest

slide-28
SLIDE 28