Microsoft Research333 тыс
Опубликовано 4 апреля 2018, 20:44
Representing a program as a numerical vector (i.e., neural representation) enables handling discrete programs using continuous optimization approaches, and thus opens up new opportunities to tackle many traditional challenging programming language problems. In this talk, I will introduce two directions of my research along this direction. First, I have been working on synthesizing programs from specifications in different formats, such as natural language descriptions, input-output examples, and programs in a different language. I will present one of my latest results to synthesize a parsing program from input-output examples, which have been demonstrated difficult for existing program synthesis approaches. To tackle this problem, we propose a framework to learn a neural program operating a domain-specific non-differentiable machine, as well as a novel reinforcement learning-based algorithm to recover the execution trace for each input-output example. Our approach is demonstrated to achieve 100% accuracy over test inputs which are 100x longer than the training inputs.
Second, I will introduce my work to use deep learning approaches to solve the binary code similarity detection problem. Code similarity detection has many applications such as plagiarism and vulnerability detection; however, I will show that whether two pieces of code are similar cannot be defined as one common criteria for all applications. My work is the first to demonstrate that deep learning can be used to mitigate this issue so that the same approach can be applied for different application domains; also our learning-based approach outperforms the best heuristics-based approach by a large margin.
My research interest lies at the intersection of security, programming languages, and deep learning. I will briefly introduce my other efforts in this broad area and discuss potential future directions.
See more at microsoft.com/en-us/research/v...
Second, I will introduce my work to use deep learning approaches to solve the binary code similarity detection problem. Code similarity detection has many applications such as plagiarism and vulnerability detection; however, I will show that whether two pieces of code are similar cannot be defined as one common criteria for all applications. My work is the first to demonstrate that deep learning can be used to mitigate this issue so that the same approach can be applied for different application domains; also our learning-based approach outperforms the best heuristics-based approach by a large margin.
My research interest lies at the intersection of security, programming languages, and deep learning. I will briefly introduce my other efforts in this broad area and discuss potential future directions.
See more at microsoft.com/en-us/research/v...
Свежие видео
Случайные видео