Introducing Experiments, an ongoing research effort from GitHub
We’ve launched a collection of demonstrations highlighting our most exciting research projects—and the ideas behind them.
Software developers are most productive when software development is inclusive and accessible. At GitHub, we conduct research in machine learning, design, and infrastructure to make sure everyone can do their best work with the next generation of developer tools and workflows.
This research can take considerable time to reach you, our end users, if it reaches you at all. We rigorously evaluate products for stability, performance, and security. And many experiments don’t meet our success criteria for product release, even when they present a path forward for future innovation.
Introducing Experiments
Although we can’t share everything we do, we’ve launched a collection of demonstrations highlighting our most exciting research projects—and the ideas behind them—with Experiments. We hope these will not only give you insight into our research but inspire you to think audaciously about the future of software development.
For our first demo, we’ve chosen Semantic Code Search. We’ve used machine learning to build semantic representations of code that allow you to use natural language to search for code by intent, rather than just keyword matching. See our blog post for additional detail on how this works.

We’re just getting started, so stay tuned for more examples. If this research excite you as much as they excite us, why not join our team?
Written by
Related posts
Year recap and future goals for the GitHub Innovation Graph
Discover the latest trends and insights on public software development activity on GitHub with data from the Innovation Graph through Q3 2025.
Help shape the future of open source in Europe
Read GitHub’s position on the European Open Digital Ecosystem Strategy and learn how to participate.
Build an agent into any app with the GitHub Copilot SDK
Now in technical preview, the GitHub Copilot SDK can plan, invoke tools, edit files, and run commands as a programmable layer you can use in any application.