In the Automated Software Engineering team, we apply the latest research
advances to create tools for source code transformation and synthesis.
We integrate them into IDEs and DevSecOps workflows to support collaborative,
human/automated software development.
Benefits
Source code transformation and synthesis tools help achieve faster
development of better software via: automating mundane software development
tasks, software hardening and diversification, cross-language migration, and
helping stress-test DevSecOps tooling.
Our Mnemosyne framework allows every programmer to access cutting edge
research in automated software development, right in their IDE.
Technologies
The Software Evolution Library together with
tree-sitter
allows us to parse and transform source code representations from
a variety of languages, including C/C++, Rust, Python, Java,
JavaScript/TypeScript, and Go. We use evolutionary computation techniques
to search the space of alternate implementations of software projects, supporting
applications from optimization to automated program repair.
Mnemosyne's Argot protocol allows integration of programmer assistant
tools into multiple IDEs via extensions of the Language Server Protocol.