مقایسهٔ روشها
روشهای انتخابی خود را کنار هم مرور کنید؛ ردیفهای متفاوت برجسته شدهاند.
| فازینگ× | آزمون ایستا برای امنیت برنامههای کاربردی× | اجرای نمادین× | |
|---|---|---|---|
| حوزه | رمزنگاری | رمزنگاری | رمزنگاری |
| خانواده | Machine learning | Machine learning | Machine learning |
| سال پیدایش≠ | 1990 | 2000s | 1976 |
| پدیدآور≠ | Barton Miller | Various researchers | James C. King |
| نوع≠ | random input-based testing technique | source code vulnerability detection | formal verification technique |
| منبع بنیادین≠ | Miller, B. P., Fredriksen, L., & So, B. (1990). An empirical study of the reliability of UNIX utilities. Communications of the ACM, 33(12), 32-44. DOI ↗ | Chess, B., & West, J. (2007). Secure Programming with Static Analysis. Addison-Wesley Professional. ISBN: 978-0321424778 | King, J. C. (1976). Symbolic execution and program testing. Communications of the ACM, 19(7), 385-394. DOI ↗ |
| نامهای دیگر | fuzz testing, fuzzer, mutation testing | SAST, white-box testing, source code analysis | symbolic execution, symbolic analysis, concolic execution |
| مرتبط | 3 | 3 | 3 |
| خلاصه≠ | Fuzzing is a software testing technique that inputs large numbers of random or semi-random test cases to a program to find bugs, crashes, and security vulnerabilities. Pioneered by Barton Miller in 1990, fuzzing has become a primary method for discovering zero-day vulnerabilities in complex software. Modern fuzzing tools like libFuzzer, AFL, and HoneyPot combine coverage-guided mutation with instrumentation to efficiently explore program paths and trigger vulnerabilities. Fuzzing has discovered thousands of critical vulnerabilities in major software including browsers, compilers, and cryptographic libraries. | Static Application Security Testing (SAST) is a security analysis technique that examines source code or compiled binaries without executing the program to identify vulnerabilities, code quality issues, and security flaws. Developed in the 2000s, SAST analyzes code structure, data flow, and control flow to detect potential bugs such as SQL injection, buffer overflows, and insecure cryptographic usage. SAST is widely integrated into development workflows as a shift-left security practice, enabling early detection of vulnerabilities before code reaches production. | Symbolic execution is a program analysis technique that executes programs using symbolic (non-concrete) values instead of actual inputs, tracking how symbolic values flow through the program. Introduced by James C. King in 1976, symbolic execution builds mathematical constraints on program variables and can determine which inputs cause specific program behaviors, enabling automatic test generation and vulnerability detection. Modern symbolic execution tools like KLEE, S2E, and Z3 have become powerful instruments for finding subtle bugs and security vulnerabilities. |
| ScholarGateمجموعهداده ↗ |
|
|
|