It's almost always a bad idea to write more than a few lines of code, assume they work as intended, and move on to a separate task. Even after the change compiles successfully, and even after code reviews, there's always the chance that some underlying assumption turns out to be wrong, yielding unexpected results in edge cases. Once such a bug is introduced, it might linger for long periods of time if that section of code isn't in frequent use.
Read MoreOne strategy for delivering software of the highest quality is practicing Continuous Integration and Delivery (CI/CD). While CI/CD is a relatively common quality assurance practice among software applications, it is much more difficult to use with low-level software such as kernel and embedded applications.
There are many existing virtualization solutions, but few of them are well suited for use in CI. For this reason, we developed Transient, an open-source QEMU-wrapper focused on ease-of-use within a CI/CD pipeline. Ultimately, Transient makes testing applications on virtualized hardware a much more simple and painless endeavour.
Read More