add double free test with shadowing
rewrite double-free analysis as reaching definition problem
add comment
make code more readable
fix double free; handling of gen/kill