BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Pentabarf//Schedule 0.3//EN CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-CALDESC;VALUE=TEXT:ML on Code devroom X-WR-CALNAME;VALUE=TEXT:ML on Code devroom X-WR-TIMEZONE;VALUE=TEXT:Europe/Brussels BEGIN:VEVENT METHOD:PUBLISH UID:8754@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190203T091000 DTEND:20190203T095000 SUMMARY:Understanding Source Code with Deep Learning DESCRIPTION:
Code is written by humans for humans and machines. By learning from the human-oriented components of code, recent research has invented models that start to "understand" some aspects of source code. This opens the exciting possibility of using machine learning to assist developers in their everyday tasks, such as writing new code and finding bugs.
In this talk, I will give a brief tour of our lab's recent explorations in this area. Then I will focus on a specific kind of neural networks, namely graph neural networks (GNN). These networks allow us to learn from the rich semantic relationships within code and, by training them on a self-supervised task, they have allowed us to find bugs in open-source projects. I will conclude with a brief discussion of the practical challenges in using machine learning on source code.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:ML on Code URL:https:/fosdem.org/2019/schedule/2019/schedule/event/ml_on_code_understanding/ LOCATION:H.2213 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Miltos Allamanis":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:7587@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190203T095000 DTEND:20190203T103000 SUMMARY:Suggesting Fixes during Code Review with ML DESCRIPTION:Many developers hate doing code reviews. Reading foreign code is hard, and suggesting improvements is even harder. Yet a dramatic portion of code review time goes to figuring out the boring details: formatting, naming, microoptimizations and best practices. We believe that all of those can be automated with ML on Code, either learning from a particular project or from all the open source code in the world which is relevant. This talk will be about open source "analyzers" - ML-driven code review agents which deal with the boring but important details.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:ML on Code URL:https:/fosdem.org/2019/schedule/2019/schedule/event/ml_on_code_code_review_suggestions/ LOCATION:H.2213 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Vadim Markovtsev":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8713@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190203T103000 DTEND:20190203T111000 SUMMARY:Astor: An automated software repair framework DESCRIPTION:Astor is an open-source framework for repairing buggy Java program, which includes 5 publicly available repair approaches.Those repair approaches take as input a buggy Java program (having at least one failing test case that exposes the bug) and search for a patch that produces all test cases to pass. Astor provides twelve extension points that form the design space of program repair.Using those extension points, program repair researchers can create new repair approaches or extend those included in the framework by choosing existing components (among 33 ones) or implementing new ones.In this talk, we will first discuss the main techniques proposed on the field of automated software repair.Then, we will discuss how to execute repair approaches included in Astor framework, how to extend them, and how to implement new repair approaches reusing components provided by Astor.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:ML on Code URL:https:/fosdem.org/2019/schedule/2019/schedule/event/ml_on_code_astor/ LOCATION:H.2213 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Matias Martinez":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8491@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190203T111000 DTEND:20190203T115000 SUMMARY:Code anomalies in Kotlin programs DESCRIPTION:This talk will discuss code anomalies — code fragments that are written in some way that is not typical for the programming language community. Such code fragments are useful for language creators as performance tests, or they could provide insights on how to improve the language. With Kotlin as the target language, we discuss how the task of detecting code anomalies for a very large codebase could be solved using well-known anomaly detection techniques. We outline and discuss approaches to obtain code vector representation and to perform anomaly detection on such vectorized data. The talk will highlight examples of such anomalies found in open source GitHub repositories.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:ML on Code URL:https:/fosdem.org/2019/schedule/2019/schedule/event/ml_on_code_kotlin_anomalies/ LOCATION:H.2213 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Timofey Bryksin":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:7881@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190203T115000 DTEND:20190203T123000 SUMMARY:Predicting areas for PR Comments based on Code Vectors & Mailing List Data DESCRIPTION:Many of us have seen the small PR changing 20 lines with 20 comments and the large PR with over 1k line changes sail through (or stall) with no comments because who has the time to read all that text? What if we could predict areas of the PR that are more likely to need attention?
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:ML on Code URL:https:/fosdem.org/2019/schedule/2019/schedule/event/ml_on_code_code_review_mailing_list/ LOCATION:H.2213 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Holden Karau":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Kris Nova":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8235@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190203T123000 DTEND:20190203T131000 SUMMARY:Deduplication on large amounts of code DESCRIPTION:In this talk I will discuss how to deduplicate large amounts of source code using the source{d} stack, and more specifically the Apollo project.The 3 steps of the process used in Apollo will be detailed, ie:- the feature extraction step;- the hashing step;- the connected component and community detection step;I'll then go on describing some of the results found from applying Apollo to Public Git Archive, as well as the issues I faced and how these issues could have been somewhat avoided.The talk will be concluded by discussing Gemini, the production-ready sibling project to Apollo, and imagining applications that could extract value from Apollo.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:ML on Code URL:https:/fosdem.org/2019/schedule/2019/schedule/event/ml_on_code_deduplicating_pga/ LOCATION:H.2213 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Romain Keramitas":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8603@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190203T131000 DTEND:20190203T135000 SUMMARY:Neural commit message suggester DESCRIPTION:We present a suggester of git commit messages based on the files diff: by reading the commit patch, the system outputs a message in natural language describing the subject of the commit.While high level intent guessing is out of the scope of this project, this may provide further insights to a CI system in refusing pull requests with poor commit messages or not explaining the subject matter.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:ML on Code URL:https:/fosdem.org/2019/schedule/2019/schedule/event/ml_on_code_commit_message/ LOCATION:H.2213 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Alberto Massidda":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8747@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190203T135000 DTEND:20190203T143000 SUMMARY:Mining Source Code^3 DESCRIPTION:Code is an incredible source of information.Indeed, mining software repositories can tell us whether code is natural, how to use a new framework, or how to identify similar changes.
In this talk, I will present state-of-the-art and limitations on the usage of graph-based algorithms to mine software repository.
In particular, I will cover how program analysis, pattern mining and pattern matching can help developers to identify:
Last I will present INTiMALS, an ongoing industry-university collaboration to develop a language-parametric framework for mining this information in legacy systems.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:ML on Code URL:https:/fosdem.org/2019/schedule/2019/schedule/event/ml_on_code_mining_source_code/ LOCATION:H.2213 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Dario Di Nucci":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8714@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190203T143000 DTEND:20190203T151000 SUMMARY:Coming: a Tool for Mining Change Pattern Instances from Git Commits DESCRIPTION:Software repositories such as Git have become a relevant source of information for software engineer researchers.For instance, the detection of commits that fulfill a given criterion (e.g., bugfixing commits) is one of the most frequent tasks done to understand the software evolution.However, to our knowledge, there is not open-source tools that, given a Git repository, returns all the instances of a given source code change pattern.In this talk, we present Coming, a tool that takes an input a Git repository and mines instances of source code change patterns on each commit.For that, Coming computes fine-grained changes between two consecutive revisions, analyzes those changes to detect if they correspond to an instance of a change pattern (specified by the user using XML).Finally, after analyzing all the commits, Coming presents the frequency of code changes and the instances found on each commit.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:ML on Code URL:https:/fosdem.org/2019/schedule/2019/schedule/event/ml_on_code_coming/ LOCATION:H.2213 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Matias Martinez":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:8600@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190203T151000 DTEND:20190203T155000 SUMMARY:How to build an automatic refactoring and migration toolkit DESCRIPTION:Every code base needs to be modernised at some point, either to reduce the technical debt or to migrate to another language. In such complex and challenging projects, automation is a key point to reduce the workload of low added-value tasks as monotonous refactoring or redundant paradigm translation.
To do so with our clients, struggled with deeply in-debt code bases, we built an in-house toolkit to support the developers in modernisation projects from detection to transformation. We created a language-agnostic model to represent code and several engines based on it: code smells and custom pattern detection, quality metrics, automatic refactoring, code generation… With this talk I would like to share what are the steps to build a toolkit to automate code’s transformation and share a few practical use cases.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:ML on Code URL:https:/fosdem.org/2019/schedule/2019/schedule/event/ml_on_code_automatic_refactoring/ LOCATION:H.2213 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Juliette Tisseyre":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:7915@FOSDEM19@fosdem.org TZID:Europe-Brussels DTSTART:20190203T155000 DTEND:20190203T163000 SUMMARY:Smelling Source Code Using Deep Learning DESCRIPTION:Poor quality code contributes to increasing technical debt and makes the software difficult to extend and maintain. Code smells capture such poor code quality practices. Traditionally, the software engineering community identifies code smells in deterministic ways by using metrics and pre-defined rules/heuristics. Creating a deterministic tool for a specific language is an expensive and arduous task since it requires source code analysis starting from parsing, symbol resolution, intermediate model preparation, and applying rules/heuristics/metrics on the model. It would be great if we can leverage the tools available for one programming language and cross-apply them on another language.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:ML on Code URL:https:/fosdem.org/2019/schedule/2019/schedule/event/ml_on_code_smelling_source/ LOCATION:H.2213 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Tushar Sharma":invalid:nomail END:VEVENT END:VCALENDAR