--- layout: default title: Resources on Machine Learning for Big Code and Naturalness --- ### Presentations and Relevant Introductory Material * [Tutorial: An Introduction to Learning from Programs](http://vmcaischool19.tecnico.ulisboa.pt/) by Marc Brockschmidt in VMCAI Winter School 2019 [[slides](http://vmcaischool19.tecnico.ulisboa.pt/~vmcaischool19.daemon/wp/wordpress/wp-content/uploads/2019/01/Learning_from_Programs.pptx)]. * [Tutorial: Modelling Natural Language, Programs, and their Intersection](http://naacl2018.org/tutorial.html) in NAACL HLT 2018, 1 June 2018, New Orleans, LA, USA [[slides](https://github.com/neubig/naacl18tutorial)] [[video](https://vimeo.com/channels/naacl2018/279154278)] ### Datasets Some resources about Big Code and Naturalness can be found at [learnbigcode.github.io](http://learnbigcode.github.io). A list of datasets used in this area can be found at the appendix of the [survey](https://arxiv.org/abs/1709.06182) and at [learnbigcode.github.io](http://learnbigcode.github.io/datasets/). ### Courses A few university courses are been taught covering aspects of machine learning for code, big code or naturalness of code. Below there are a few that have publicly available material. * [Analyzing Software using Deep Learning](http://software-lab.org/teaching/summer2020/asdl/) in University of Stuttgart [[videos](https://www.youtube.com/playlist?list=PLBmY8PAxzwIHIKq4tYLws25KqGvUM4iFD)] * [Seminars on Applications of Deep Learning in Software Engineering and Programming Languages](https://sites.google.com/view/mlplse-sp18/) in U.C. Berkeley * [Machine learning for programming](https://www.cl.cam.ac.uk/teaching/1920/P252/) in the University of Cambridge, UK * [Deep Learning for Symbolic Reasoning](http://tiarkrompf.github.io/cs590/2018/) in Purdue University * [Machine Learning for Software Engineering](http://gousios.org/courses/ml4se/) in TU Delft Please, feel free to submit a pull request to adding more links in this page. ### Workshops and Other Academic Events The last few years a few workshops have been organized in this area. Please, feel free to add any missing or future workshops here. * [Deep Learning for Code](https://dl4c.github.io) April 29 2022, ICLR 2022, virtual * [NLP4Prog Workshop](https://nlp4prog.github.io/2021/) 6 August 2021, ACL 2021, virtual * [Workshop on Computer-Assisted Programming](https://capworkshop.github.io/) 12 December 2020, NeurIPS 2020, virtual * [ML on Code devroom at FOSDEM19](https://fosdem.org/2019/schedule/track/ml_on_code/) 2-3 February 2019, Brussels, EU [[videos](https://video.fosdem.org/2019/H.2213/)] * [Machine Learning for Programming](http://ml4p.org/) 18–19 July 2018, Oxford, UK [[videos](https://www.youtube.com/watch?v=dQaAp9wdFtQ&list=PLMPy362FkW9pd96bwh0BuCGMo6fdMQ2aw)] * [International Workshop on Machine Learning techniques for Programming Languages](https://conf.researchr.org/track/ecoop-issta-2018/ML4PL-2018-papers) 16 - 21 July 2018 Amsterdam, Netherlands * [Workshop on Machine Learning and Programming Languages](https://pldi18.sigplan.org/track/mapl-2018-papers) in PLDI 18 - 22 June 2018, Philadelphia, PA, USA * [Workshop on NLP for Software Engineering](https://nl4se.github.io/) 4 February 2018, New Orleans, LA, USA * [The 55th CREST Open Workshop - Bimodal Program Analysis](http://crest.cs.ucl.ac.uk/cow/55/) 30-31 October 2017, London, UK * [Workshop on NLP for Software Engineering](https://nlse-fse.github.io/) 13 November 2016, Seattle, WA, USA * [Programming with "Big Code"](http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=15472) 15-18 November 2015, Dagstuhl, Germany ### Courses on Important Relevant Background * [Sofware Analysis](http://rightingcode.org/) at Univ. of Pennsylvania. It is a great introduction to Program Analysis [[videos](https://www.youtube.com/playlist?list=PLF3-CvSRq2SaApl3Lnu6Tu_ecsBr94543)] * [Program Analysis](https://software-lab.org/teaching/winter2020/pa/) at University of Stuttgart [[videos](https://www.youtube.com/playlist?list=PLBmY8PAxzwIEGtnJiucyGAnwWpxACE633)] * [Applications of Data Science for Software Engineering 2020](https://www.youtube.com/watch?v=34hcH7Js41I&list=PLmAXH4O57P5_0IflYjLIg8l0IupZPbdlY) at Eindhoven University of Technology. ### Competitions * [nlc2cmd](http://nlc2cmd.us-east.mybluemix.net/#/) in NeurIPS 2020 by Project CLAI. Starts July 2020. * [CodeSearchNet Challenge: Evaluating the State of Semantic Code Search](https://github.com/github/CodeSearchNet) by Github. Starts Sep 2019. * [CodRep 2019: Machine Learning on Source Code Competition](https://github.com/KTH/codrep-2019) by KTH. Starts on April 25th 2019. * [CodRep 2018: Machine Learning on Source Code Competition](https://github.com/KTH/CodRep-competition) by KTH. Starts on April 14th 2018. ### Other Collections of Related Work * [source{d}](https://sourced.tech/) has collected a set of links and papers in the area. You can access the list [here](https://github.com/src-d/awesome-machine-learning-on-source-code). * [Autormated Program Repair](https://www.monperrus.net/martin/automatic-software-repair) has a curated list of pointers for helping newcomers to understan the field, maintained by [Martin Monperrus](https://www.monperrus.net/martin/).