Techniques Used By Static Code Analysis Tools