Mnemosyne

Read more on Mnemosyne's main page and open source repository.

Mnemosyne is an automated software development assistant; it aims to bring the latest research advances in software development automation to every programmer. With Mnemosyne, developers can benefit from sophisticated autocompletion, type inference, invariant inference, bug repair, and test case generation, right within their familiar IDE. Mnemosyne enables this via a framework and a protocol that allow containerized programming assistant tools (called muses) to communicate with an IDE.

Mnemosyne supports collaborative human/automated development; the developer can always inspect, review, accept, modify, or reject automated suggestions from the muses. The following video demonstrates the use of Mnemosyne, in VSCode.


The following demo shows the integration of the OpenAI Codex model into Mnemosyne where it works synergistically with Mnemosyne's existing automated testing support to automate the development of reliable software. In this video:

  1. Codex generates a method body from a documentation string. Unfortunately, as is true of many ML-generated functions this implementation has a bug.
  2. After the generated code is inserted, Mnemosyne's Hypothesis muse engages to test the new code.
  3. Hypothesis finds an example illustrating an error in the generated code.
  4. The developer updates the documentation to describe the newly identified edge case.
  5. Codex then generates a more correct function body in response to the enhanced documentation string.

This material is based upon work supported by the Air Force and DARPA under Contract(s) No. FA8750-20-C-0208. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the Air Force or DARPA.

About Contact Careers About Contact Careers GrammaTech Homepage