概述
安全编写高性能并发程序非常困难。为了帮助开发人员,我们引入了Armada,这是一种语言和工具,旨在以相对较少的努力来正式验证此类程序。通过编译为C子集ClightTSO的类C语言和基于状态机的小步骤语义,Armada为开发人员提供了选择任意内存布局和同步原语的灵活性,因此它们在性能追求方面从未受到限制。为了减少开发人员的工作量,Armada利用SMT驱动的自动化技术和强大的推理技术库,包括依赖保证,TSO消除,归约和别名分析。所有这些技术均已被证明是可靠的,随着时间的推移,可以通过其他策略