Is there such a thing as AppVerifier or Driver Verifier for Linux?
I wish someone would point me to Linux software similar to Microsoft tools Application Verifier and Driver Verifier . (They are stress testers for Windows applications and drivers, respectively.) )
Does Linux have such a thing?
Solution
I’m not familiar with Application Verifier and Driver Verifier at all….
For applications, Valgrind is useful as a tool to check for leaks, use-after-free, double free, buffer overflow, working with uninitialized data, unsafe concurrent data access, and so on.
There are many more fuzzers ( <a href=”http://caca.zoy.org/wiki/zzuf” rel=”noreferrer noopener nofollow”>zzuf, fusil etc.) Test the program’s resistance to invalid inputs.
GCC itself has –fstackprotector
, which enables SSP (stack-smashing protector, aka ProPolice); -fmudflap
, which detects memory usage for some other errors; and (combined with glibc
) -D_FORTIFY_SOURCE=
n, which does additional checks on various string and memory functions.
In the Linux kernel, there are many configuration switches under the “Kernel hacking” menu:
CONFIG_DEBUG_SLAB
,CONFIG_DEBUG_PAGEALLOC
, etc., to ensure that the allocation, use and release of memory is rationalCONFIG_DEBUG_OBJECTS
, check that objects are used and released sequentially- kmemcheck, “Valgrind for kernel”
-
CONFIG _PROVE_LOCKING
, analyze all possible deadlocks CONFIG_DEBUG_PREEMPT
,CONFIG_DEBUG_MUTEXES
,CONFIG_DEBUG_SPINLOCK
,CONFIG_DEBUG_SPINLOCK_SLEEP
, etc., warning of improper use of locks-
CONFIG_FAULT_INJECTION
& co. This has the potential to cause memory allocation and I/O failures