At Symbolica we’re building a cloud-hosted symbolic execution service. Symbolic execution lets you explore every reachable state of your program so that you can write tests without worrying about missing any edge cases. As a bonus we also automatically detect if any states can cause invalid memory access and other undefined behaviours, like divide by zero, without you having to write any additional tests.
The core of our symbolic executor is open source and this week we got to chat with Jackson Kelley for the latest edition of the Console newsletter about our project. We talk about our backgrounds and influences and get into the details of some of the technical challenges that we’ve been tackling as we continue to build Symbolica.
Symbolica
NuGet Packages
Symbolica.Abstraction
Symbolica.Collection
Symbolica.Computation
Symbolica.Deserialization
Symbolica.Expression
Symbolica.Implementation
Symbolica.Representation
Docker Images
symbolica/build
docker build lib/build -t symbolica/build:latest
docker run -v <path-to-user-code>:/code symbolica/build:latest
symbolica/translate
docker build lib/translate -t symbolica/translate:latest
docker run -v <path-to-user-code>:/code symbolica/translate:latest <declarations>
Note, we don't publish a latest
tag because we prefer to use SemVer instead, even if Docker doesn't natively support it.
Our stable images will be tagged according to the tags in this repository and the versions are aligned with the NuGet package versions.
If you're using the docker images in conjunction with the NuGet packages, it's best to make sure you're using a tag for the docker images that matches the NuGet package version you're using.
Each edition of Console is a curated list of interesting open source projects along with an interview of the creators of one of the projects, delivered to your inbox every week. It’s a great way to discover new open source projects and hear from the creators behind the code. If you like open source it’s worth signing up.
Top comments (0)