Which of the following is a Strategy to achieve Software diversity ?
A. Different programming languages
B. Different design methods and tools
C. Explicit specification of different algorithms
D. All of the mentioned
Explanation: Diversity means to provide the same functionality in different ways so that critical components of a dependable system will not fail in the same way.