JetBrains Research Newshttp://www.ramirezcobos.com/
JetBrains Research Newshttps://research.jetbrains.org/news/index
http://origin.research.jetbrains.org/static/img/jbr-logo.pngen-ENTue, 22 Jan 2019 01:26:20 +0300
Neural Code Comprehension
https://research.jetbrains.org/news/neural-code-comprehension
Sun, 20 Jan 2019 20:07:21 +0300With the recent success of embeddings in natural language processing, research
has been conducted into applying similar methods to code analysis. Most works
attempt to process the code directly or use a syntactic tree representation, treating it
like sentences written in a natural language. However, none of the existing methods
are sufficient to comprehend program semantics robustly, due to structural features
such as function calls, branching, and interchangeable order of statements.

At the seminar, we will discuss a novel processing technique to learn code semantics, and apply
it to a variety of program analysis tasks. Following this hypothesis, we define an embedding space, inst2vec,
based on an Intermediate Representation (IR) of the code that is independent of the
source programming language.

Speaker: Aleksei Shpilman.

Presentation language: Russian.

Date and time: January 23rd, 20:00-21:30.

Location: Times, room 405.

]]>
Machine Learning Methods in Software Engineering
Aleksei Shpilman
Double Attention Networks
https://research.jetbrains.org/news/double-attention-networks
Sun, 20 Jan 2019 19:53:46 +0300Learning to capture long-range relations is fundamental to image/video recognition. Existing CNN models generally rely on increasing depth to model such relations which is highly inefficient. On this seminar, we will discuss the “double attention block”, a novel (or not so novel) component from Facebook AI Research that aggregates and propagates informative global features from the entire spatio-temporal space of input images/videos. And also discuss their differences with SEnet’s.

And as a warmup we will have a little talk on how to read a paper since this is a kick-off for our yet another season of seminars.

]]>
Machine Learning Applications and Deep Learning
Aleksei Shpilman
Predicting of people trajectories for a safer robot movement
https://research.jetbrains.org/news/predicting-of-people-trajectories-for-a-safer-robot-movement
Sun, 20 Jan 2019 19:44:29 +0300Lately, there has been a rise in the development of mobile robots that would function in a populated environment. Some malls already employ robots as assistants. For these robots to be safer, they need to be able to understand and predict human motions.

At the seminar, we will discuss the problem of predicting people trajectories and go through a state-of-the-art approach based on training a recurrent neural network. One of the advantages of this model is that it can continuously adapt to new data.

Speaker: Vsevolod Stepanov.

Presentation language: Russian.

Date and Time: January 22nd, 18:30-20:00.

Place: Times, room 405.

]]>
Agent Systems and Reinforcement Learning
Aleksei Shpilman
Seminar on Craig Interpolation
https://research.jetbrains.org/news/seminar-on-craig-interpolation
Thu, 27 Dec 2018 12:10:10 +0300We will discuss Craig interpolation in the first order logic.
Application of interpolants to computing inductive invariants and
function summaries for purposes of program verification will be
considered. Also interpolant construction methods will be briefly
desсribed.

]]>
Programming Languages and Tools Lab
Dmitry Boulytchev
Code Review with Deep Learning
https://research.jetbrains.org/news/code-review-with-deep-learning
Tue, 11 Dec 2018 09:28:07 +0300Code review is a widespread practice that aims to improve codes quality. It turns out that most of the code review commentaries are often repeated. Software engineers under review often make the same style mistakes.

At the seminar, we will talk about a work from Microsoft Research that describes a new method based on LSTM networks that generates comments to pull-requests.

]]>
BioLabs
Oleg Shpynov
Seminar on Conjunctive Partial Deduction
https://research.jetbrains.org/news/seminar-on-conjunctive-partial-deduction
Thu, 06 Dec 2018 18:25:42 +0300Partial deduction is a source-to-source transformation for logic
programming, which is similar to supercompilation. It improves the
behavior of programs by deforestation (getting rid of intermediate data
structures) and tupling (avoiding repeating sub-computations). We will
talk about the advantages of considering the whole conjunctions while
driving, and how to ensure termination of the transformation.

]]>
Programming Languages and Tools Lab
Dmitry Boulytchev
Seminar on Graph Query Optimization with Datalog
https://research.jetbrains.org/news/seminar-on-graph-query-optimization-with-datalog
Thu, 06 Dec 2018 18:18:38 +0300In this talk, we will consider the new graph query language GPath, which
is a generalization of the XPath language for queries on trees, which
is used for XML files analysis. It will be shown how these queries can
be translated into a datalog program. The execution complexity of the
obtained programs will also be considered. In addition, we will consider
the issue of optimizing these queries using the well-known datalog
technique --- magic-sets rewriting.

]]>
Programming Languages and Tools Lab
Dmitry Boulytchev
Learning to represent edits
https://research.jetbrains.org/news/learning-to-represent-edits
Sun, 02 Dec 2018 15:13:12 +0300In modern world the electronic storage of documents allows to edit them with ease. It raises the problem of representing the edits, which can help in retrieving common patterns and transferring edits from one context to another. Paper authors consider both source code and natural language edits.

At the seminar we will discuss how to group semantically equivalent edits together and how to apply existing edits in another context.

Speaker: Olga Lupuleac.

Presentation language: Russian.

Date and time: December 5th, 20:00-21:30.

Location: Times, 204.

]]>
Machine Learning Methods in Software Engineering
Aleksei Shpilman
Using Variational Autoencoders for Summarization and Retrieval of Code Fragments
https://research.jetbrains.org/news/using-variational-autoencoders-for-summarization-and-retrieval-of-code-fragments
Sun, 25 Nov 2018 20:30:31 +0300Algorithms of summarization and retrieval of code fragments are frequently used by developers for re-use of code from online repositories. Summarization algorithms can be used to generate proper documentation and retrieval algorithms can be used to find correct code fragment by natural language description.

At the seminar we will see how variational autoencoders work and how they can be used in aforementioned tasks. We will compare this approach with others and see how this architecture can use unlabeled code data for better performance.

To solve this the expert demonstrations that act as good examples of steps for the agent could be employed.

We will define and talk about the problem of learning from not a single expert, but from many of them and how it could be solved for the discrete state space. Also, we will discuss how the demonstrations could be used with Deep Reinforcement Learning methods. More specifically, how state-of-the-art DQNs could benefit from that data.

Speaker: Nikita Sazanovich.

Presentation language: Russian.

Date and Time: November 26th, 18:30-20:00.

Place: Times, room 204.

]]>
Agent Systems and Reinforcement Learning
Aleksei Shpilman
Seminar on Application of Complex Analysis in Formal Language Theory
https://research.jetbrains.org/news/seminar-on-application-of-complex-analysis-in-formal-language-theory
Thu, 22 Nov 2018 15:25:48 +0300In the talk the application of complex analysis to the parsing problem
will be considered. It will be shown how to construct the system of
equations over the field of complex numbers by given formal grammar.
Correctness of such transition will be proved and then there will be
shown the parsing technique that is based on contour integration.

]]>
Programming Languages and Tools Lab
Dmitry Boulytchev
Graph models for developing artificial intelligence
https://research.jetbrains.org/news/graph-models-for-developing-artificial-intelligence
Mon, 19 Nov 2018 21:10:30 +0300Artificial intelligence research has made significant progress in the latter years. However, it is still far from human consciousness. Authors of the recent paper that to develop better AI systems, we have to pay attention to the area of associative learning.

At the seminar, we will discuss how graph models may help with this task and see examples of the opensource library for calculations on a graph.

Speaker: Andrei Smirdin.

Presentation language: Russian.

Date and time: November 21th, 20:00-21:30.

Location: Times, 204.

]]>
Machine Learning Methods in Software Engineering
Aleksei Shpilman
Adaptation of the domain for visual data.
https://research.jetbrains.org/news/adaptation-of-the-domain-for-visual-data
Sun, 18 Nov 2018 21:35:33 +0300We will talk about the domain adaptation task. About how the problem can be solved for the unsupervised dataset, for which we know possible set of labels. To obtain this knowledge use another labled dataset.

This approach is applicable, for example, to synthetic data for processing real data. Synthetic data is inherently already labeled.

There are several approaches to the problem. We can generate images so that they look realistic, thereby performing a style transfer, as well as adapt on a deep semantic level. One of the main tools in this task are the generative adversarial neural networks.

At the seminar we will consider both approaches and SOTA algorithms in each of the methods.

Speaker: Alexey Artamonov.

Presentation language: Russian.

Date and time: November 20th, 20:30-22:00.

Location: Times, white boards (4th floor).

]]>
Machine Learning Applications and Deep Learning
Aleksei Shpilman
Seminar on Gentle Introduction to Delimited Continuations
https://research.jetbrains.org/news/seminar-on-gentle-introduction-to-delimited-continuations
Sun, 18 Nov 2018 13:27:47 +0300Today we'll have a look at delimited continuations (delimCC in short): a
refinement of not so famous feature of LISPs named
call-with-current-continuation (callCC in short). Originally callCC
didn't have any abilities to reduce a scope of continuation being
captured, delimited continuations doesn't suffer from this problem.

We'll
start from some simple example and build intuition how programs are
working. After that we'll present formal semantics and talk how add
types to our calculus and will discuss answer type polymorphism.

]]>
Programming Languages and Tools Lab
Dmitry Boulytchev
Seminar on Semantics of Weak Memory Based on Event Structures
https://research.jetbrains.org/news/seminar-on-semantics-of-weak-memory-based-on-event-structures
Sun, 18 Nov 2018 00:00:00 +0300Weak memory model semantics of a high-level programming language should allow behaviors of a concurrent program obtained due to compiler optimizations. Several previously proposed semantics are either too strong or too weak. Later could lead to the so called `out-of-thin-air read` problem. That is a counterintuitive behavior of a program not observed in practice, but allowed by formal semantics.

Recently Chakraborty & Vafeiadis have proposed a new weak memory semantics based on event structures. This semantics solves `OOTA` problem. Moreover, it is more declarative compared to alternative solutions. In this talk we will present `event structure` memory model. We will also compare it to the alternative approach based on `promise` machine. Also an overview of the proof of compilation correctness from `event structure` model to the `Intermediate Memory Model` will be given.

]]>
Programming Languages and Tools Lab
Dmitry Boulytchev
Evaluating quality of existing repair techniques
https://research.jetbrains.org/news/evaluating-quality-of-existing-repair-techniques
Sun, 11 Nov 2018 18:39:26 +0300Automated program repair has recently become a popular area of research. However, most evaluations of repair techniques focus on how many defects a technique can produce a patch for. Paper authors have developed a new methodology for evaluating automated repair techniques.

During the seminar, we will discuss the results of applying this methodology to existing repair techniques. Can automated repair techniques repair defects that are hard for developers to repair? Which characteristics of the defects correlate with the repair techniques' ability to produce patches?

Let us tell you how to make a decent decision, review the articles and approaches used.Also, students can count on a small historical background of chatbots competitions and tips on how to approach the long-term challenges with a massive research part.

Speaker: Rauf Kurbanov.

Presentation language: Russian.

Date and time: November 13th, 20:30-22:00.

Location: Times, white boards (4th floor).

]]>
Machine Learning Applications and Deep Learning
Aleksei Shpilman
Reinforcement learning for dressing up
https://research.jetbrains.org/news/reinforcement-learning-for-dressing-up
Sun, 11 Nov 2018 18:25:57 +0300Every day we put on clothes without thinking twice about it, while, if you think about, it is quite a complicated process. That is why you don't really see characters in animation and video games putting on clothes.

At the seminar we will see how to use deep reinforcement learning for this task. Authors describe state space and reward function that allow their model to learn how to solve various dressing up tasks, such as putting on a t-shirt.