misuse and abuse case modeling, threat modeling (whether based on Microsoft’s
methodology, or any of several others), attack patterns, trees, and graphs are
all techniques that have emerged as equally useful for helping specify security
requirements and architectures for software, and for defining security test cases