Typed assembly languages provide a way to generate machinecheckable safety proofs for machine-language programs. But the soundness proofs of most existing typed assembly languages...
Dynamic correctness checking tools (a.k.a. lifeguards) can detect a wide array of correctness issues, such as memory, security, and concurrency misbehavior, in unmodified executa...
Olatunji Ruwase, Shimin Chen, Phillip B. Gibbons, ...
Static analysis designers must carefully balance precision and efficiency. In our experience, many static analysis tools are built around an elegant, core algorithm, but that alg...
Yit Phang Khoo, Bor-Yuh Evan Chang, Jeffrey S. Fos...
Buffer overflow vulnerabilities are caused by programming errors that allow an attacker to cause the program to write beyond the bounds of an allocated memory block to corrupt oth...
Martin C. Rinard, Cristian Cadar, Daniel Dumitran,...
One problem that has plagued Genetic Programming (GP) and its derivatives is numerical constant creation. Given a mathematical formula expressed as a tree structure, the leaf node...