Dual analysis for proving safety and finding bugs

Corneliu Popeea, Wei-Ngan Chin
2013 Science of Computer Programming  
Program bugs remain a major challenge for software developers and various tools have been proposed to help with their localization and elimination. Most present-day tools are based either on over-approximating techniques that can prove safety but may report false positives, or on under-approximating techniques that can find real bugs but with possible false negatives. In this paper, we propose a dual static analysis that is based only on over-approximation. Its main novelty is to concurrently
more » ... rive conditions that lead to either success or failure outcomes and thus we provide a comprehensive solution for both proving safety and finding real program bugs. We have proven the soundness of our approach and have implemented a prototype system that is validated by a set of experiments.
doi:10.1016/j.scico.2012.07.004 fatcat:odlhu7bzhvbfbit5rxwl3atjm4