Volume 2000 of the series Lecture Notes in Computer Science pp 157-175


Extended Static Checking: A Ten-Year Perspective

  • K. Rustan M. LeinoAffiliated withCompaq Systems Research Center


A powerful approach to finding errors in computer software is to translate a given program into a verification condition, a logical formula that is valid if and only if the program is free of the classes of errors under consideration. Finding errors in the program is then done by mechanically searching for counterexamples to the verification condition. This paper gives an overview of the technology that goes into such program checkers, reports on some of the progress and lessons learned in the past ten years, and identifies some remaining challenges.