Improving developer productivity is an important, but very difficult task, that researchers from both academia and industry have been trying to solve for decades. This has become even more challenging given the enormous scale at which today’s software is produced. There is, however, an upside to this scale: the increased availability of code creates an exciting opportunity to learn from these large datasets. The goal of this work is to leverage these datasets and to create programming tools that accomplish tasks that were previously difficult or practically infeasible. We address this problem, both at the foundational level by developing new techniques that learn over existing code and synthesize new programs, as well as at the applicati...
With the advancement of modern technologies, programming becomes ubiquitous not only among professio...
The end of Moore's law is driving the search for new techniques to improve system performance as app...
Thesis (Ph.D.)--University of Washington, 2022Artificial intelligence has been shaped by three revol...
Research at the intersection of machine learning, programming languages, and software engineering ha...
Predictive modeling using machine learning is an effective method for building compiler heuristics, ...
Today's programmers, especially data science practitioners, make heavy use of data-processing librar...
Probabilistic modeling and reasoning are central tasks in artificial intelligence and machine learni...
Software development is an expensive and difficult process. Mistakes can be easily made, and without...
The enormous rise in the scale, scope, and complexity of software projects has created a thriving ma...
Program synthesis is a term that describes a family of techniques that enables automatic generation ...
Becoming increasingly complex, software development relies heavily on the reuse of existing librarie...
Machine-learning models can reach very high performance with supervised training, where they learn f...
In the last couple of years we have witnessed an enormous increase of machine learning (ML) applicat...
Although the program verification community has developed several techniques for analyzing software ...
Imagine a world where computational simulations can be inverted as easily as running them forwards, ...
With the advancement of modern technologies, programming becomes ubiquitous not only among professio...
The end of Moore's law is driving the search for new techniques to improve system performance as app...
Thesis (Ph.D.)--University of Washington, 2022Artificial intelligence has been shaped by three revol...
Research at the intersection of machine learning, programming languages, and software engineering ha...
Predictive modeling using machine learning is an effective method for building compiler heuristics, ...
Today's programmers, especially data science practitioners, make heavy use of data-processing librar...
Probabilistic modeling and reasoning are central tasks in artificial intelligence and machine learni...
Software development is an expensive and difficult process. Mistakes can be easily made, and without...
The enormous rise in the scale, scope, and complexity of software projects has created a thriving ma...
Program synthesis is a term that describes a family of techniques that enables automatic generation ...
Becoming increasingly complex, software development relies heavily on the reuse of existing librarie...
Machine-learning models can reach very high performance with supervised training, where they learn f...
In the last couple of years we have witnessed an enormous increase of machine learning (ML) applicat...
Although the program verification community has developed several techniques for analyzing software ...
Imagine a world where computational simulations can be inverted as easily as running them forwards, ...
With the advancement of modern technologies, programming becomes ubiquitous not only among professio...
The end of Moore's law is driving the search for new techniques to improve system performance as app...
Thesis (Ph.D.)--University of Washington, 2022Artificial intelligence has been shaped by three revol...