Test your software in the cloud via scalable symbolic execution
Prof. George Candea ~ Project Website
Cloud9 is the first parallel symbolic execution engine that scales linearly on large clusters of commodity hardware. Cloud9 offers a testing engine whose power is directly proportional to the number of cluster nodes, enabling the analysis of significantly larger systems than before. Unlike existing symbolic execution engines, Cloud9 handles not only single-threaded programs but also multithreaded ones, and it provides a symbolic environment that is the first to support all major elements of the POSIX interface, such as processes, threads, synchronization, networking, IPC, and file I/O.
Cloud9 aims to reduce the resource-intensive and labor-intensive nature of high-quality software testing. It does so in two ways:
- Cloud9 parallelizes symbolic execution – an effective but still poorly scalable test automation technique – to large shared-nothing clusters. Cloud9 is the first symbolic execution engine that scales to large clusters of machines, thus enabling automated testing of real software in conveniently short amounts of time. Preliminary results indicate one to two orders of magnitude speedup over a state-of-the-art symbolic execution engine.
- Cloud9 is an on-demand software testing service: it runs on compute clouds, like Amazon EC2, and scales its use of resources over a wide dynamic range, proportionally with the testing task at hand.