Tools for Code Review Static Analysis Handles unfinished code Can find backdoors Potentially complete Dynamic Analysis Run code Code not needed Has few(er) assumptions Covers end-to-end or system tests
Static Analysis tools Open Source Static Analysis tools Cppcheck, http://cppcheck.sourceforge.net/ Rough Auditing Tool for Security (RATS), https://security.web.cern.ch/security/recommendations/en/codetools/rats.shtml Flawfinder, http://www.dwheeler.com/flawfinder/ Evaluate, based on Efficiency Correctness Speed Understandability of the results
Results and Major Contributions Outcome of students’ evaluation: Flawfinder is most Efficient Cppcheck is most Accurate of all RATS is Fastest and its Results understandability is good
Sample Vulnerabilities SAMATE Reference Dataset (SRD) http://samate.nist.gov/SRD Search for common vulnerabilities Experiment with tools