多项选择题

A.采用非可执行堆栈技术
B.数组边界检查
C.指针完整性检查
D.使用静态测试工具