Mining Source Code Repositories at Massive Scale using Language Modeling
Miltos Allamanis, Charles Sutton
m.allamanis@ed.ac.uk csutton@inf.ed.ac.uk
University of Edinburgh
Supported by:
Mining Source Code Repositories at Massive Scale using Language - - PowerPoint PPT Presentation
Mining Source Code Repositories at Massive Scale using Language Modeling Miltos Allamanis, Charles Sutton m.allamanis@ed.ac.uk csutton@inf.ed.ac.uk University of Edinburgh Supported by: Polyglot programmers Multitude of APIs &
m.allamanis@ed.ac.uk csutton@inf.ed.ac.uk
Supported by:
[Hindle et al., ICSE 2012]
public void execute(Runnable task) { if (task == null) throw new NullPointerException(); ForkJoinTask<?> job; if (task instanceof ForkJoinTask<?>) // avoid re-wrap job = (ForkJoinTask<?>) task; else job = new ForkJoinTask.AdaptedRunnableAction (task); externalPush(job); }
public void execute(Runnable task) { if (task == null) throw new NullPointerException(); ForkJoinTask<?> job; if (task instanceof ForkJoinTask<?>) // avoid re-wrap job = (ForkJoinTask<?>) task; else job = new ForkJoinTask.AdaptedRunnableAction (task); externalPush(job); }
public void execute(Runnable task) { if (task == null) throw new NullPointerException(); ForkJoinTask<?> job; if (task instanceof ForkJoinTask<?>) // avoid re-wrap job = (ForkJoinTask<?>) task; else job = new ForkJoinTask.AdaptedRunnableAction (task); externalPush(job); }
public void execute(Runnable task) { if (task == null) throw new NullPointerException(); ForkJoinTask<?> job; if (task instanceof ForkJoinTask<?>) // avoid re-wrap job = (ForkJoinTask<?>) task; else job = new ForkJoinTask.AdaptedRunnableAction (task); externalPush(job); }
Java projects >1 fork Deduplication through git commit SHAs URL: http://groups.inf.ed.ac.uk/cup/javaGithub/
API calls are predictable
from elasticsearch
from elasticsearch
ContinuationPending.java 5.2 FastDtoa.java 5.0 PrivateAccessClass.java 4.7 JSSetter.java 1.0 GeneratedClassLoader. java 1.1 UintMap.java 1.2
m.allamanis@ed.ac.uk csutton@inf.ed.ac.uk
Supported by:
Method and Type identifiers are equally hard, irrespectively of the amount of data.