2007 · 25 citations · 15 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesSoftware EngineeringAnnotationControl-flow AnalysisData-flow AnalysisDeductive VerificationError DetectionStatic Code AnalysisAutomated Bug FindingCode MaintainabilityReachabilityReachability AnalysisStatic Bug DetectionStatic Error Analysis
Well-specified programs enable code reuse and therefore techniques that help programmers to annotate code correctly are valuable. We devised an automated analysis that detects unreachable code in the presence of code annotations. We implemented it as an enhancement of the extended static checker ESC/Java2 where it serves as a check of coherency of specifications and code. In this article we define the notion of semantic unreachability, describe an algorithm for checking it and demonstrate on a case study that it detects a class of errors previously undetected, as well as describe different scenarios of these errors.
15
Patrick Cousot, Radhia Cousot · 1977 · 6.2K citations
Automatic discovery of linear restraints among variables of a program
Patrick Cousot, Nicolas Halbwachs · 1978 · 1.6K citations
Simplify: a theorem prover for program checking
David Detlefs, Greg Nelson, James B. Saxe · Journal of the ACM · 2005 · 781 citations
Predicate abstraction for software verification
Cormac Flanagan, Shaz Qadeer · 2002 · 280 citations