Code‐level model checking in the software development workflow at Amazon Web Services

Nathan Chong, Byron Cook, Jonathan Eidelman, Konstantinos Kallas, Kareem Khazem, Felipe R. Monteiro, Daniel Schwartz‐Narbonne, Serdar Tasiran, Michael Tautschnig, Mark R. Tuttle
<span title="2021-01-20">2021</span> <i title="Wiley"> <a target="_blank" rel="noopener" href="" style="color: black;">Software, Practice &amp; Experience</a> </i> &nbsp;
This article describes a style of applying symbolic model checking developed over the course of four years at Amazon Web Services (AWS). Lessons learned are drawn from proving properties of numerous C-based systems, for example, custom hypervisors, encryption code, boot loaders, and an IoT operating system. Using our methodology, we find that we can prove the correctness of industrial low-level C-based systems with reasonable effort and predictability. Furthermore, AWS developers are
more &raquo; ... y writing their own formal specifications. As part of this effort, we have developed a CI system that allows integration of the proofs into standard development workflows and extended the proof tools to provide better feedback to users. All proofs discussed in this article are publicly available on GitHub.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="">doi:10.1002/spe.2949</a> <a target="_blank" rel="external noopener" href="">fatcat:3sirdpatwbdxvkard4fghvs3l4</a> </span>
<a target="_blank" rel="noopener" href=";jsessionid=2BBCE7989DD2787DAC33E9F9E8306CF6?sequence=2" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href=""> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="unlock alternate icon" style="background-color: #fb971f;"></i> </button> </a>