他部分。另一方面，将系统划分为小的组件可降低各部分的复杂性，并可以使用定理机器证明（automated theorem proving）来证明关键的软件子系统的正确性。因此，当单一的有特点的特性可以作为关键点被分离出，而此特性可被数学评估时，安全的解析解（closed form solution）才会有效。在这种正确性证明不存在时，严谨的代码审查（code review）和单元测试（unit testing）是最好的保证模块安全的方式。设计时应使用纵深防御（Defense in depth），即当多