Automatically transforming developers' natural language descriptions into source code has been a longstanding goal in software engineering research. Two types of approaches have …
Many problem domains, including program synthesis and rewrite-based optimization, require searching astronomically large spaces of programs. Existing approaches often rely …
With the rise of software-as-a-service and microservice architectures, RESTful APIs are now ubiquitous in mobile and web applications. A service can have tens or hundreds of API …
Automatic program repair (APR) regularly faces the challenge of overfitting patches--- patches that pass the test suite, but do not actually address the problems when evaluated …
Code-generating large language models (LLMs) are transforming programming. Their capability to generate multi-step solutions provides even non-programmers a mechanism to …
One vision for program synthesis, and specifically for programming by example (PBE), is an interactive programmer's assistant, integrated into the development environment. To make …
H Goldstein, S Frohlich, M Wang… - Proceedings of the ACM on …, 2023 - dl.acm.org
Expert users of property-based testing often labor to craft random generators that encode detailed knowledge about what it means for a test input to be valid and interesting …
AI-powered programming assistants are increasingly gaining popularity, with GitHub Copilot alone used by over a million developers worldwide. These tools are far from perfect …
In recent years, researchers have explored component-based synthesis, which aims to automatically construct programs that operate by composing calls to existing APIs. However …