Usable Results

Satsy returns real, usable pieces of code that you can plug in to your project directly. It's quick. It's easy. It compiles.

Example-Based Search

You don't need to translate your needs to English. Provide pairs of example inputs and their corresponding outputs and let Satsy do the rest.

A Work in Progress

This project is a manifestation of ongoing research and will continue to grow to allow more complex searches and richer functionality.

A Collaboration Between Dr. Kathryn Stolee and an ISU Senior Design Team

Satsy aims to simplify the code-search problem by allowing you to talk in the same language as methods: inputs and outputs.

SMT Based Search

  • Allows user to focus on describing the behavior through examples, not google-friendly words
  • Database of specially encoded methods
  • User provided inputs and outputs translated into constraints
  • Constraints checked against the methods and solved by Z3 (an open-source Solution Modulo Theories Solver developed at Microsoft Research)

A Portable Web Solution

  • Based on the popular technologies Apache Tomcat, Java EE, and MySQL, a system can be set up and deployed anywhere in minutes!
  • Host locally on a spare machine or other commodity hardware for complete control.
  • Or, host in the cloud using AWS EC2 or an alternative surface for more support and reliability.