{"type":"ScholarlyArticle","title":"A Heuristic Approach to Program Verification","authors":[{"name":"Shmuel Katz","slug":"shmuel-katz","given":"Shmuel","family":"Katz","affiliation":""},{"name":"Zohar Manna","slug":"zohar-manna","given":"Zohar","family":"Manna","affiliation":""}],"abstract":"We present various heuristic techniques for use in proving the correctness of computer programs. The techniques are designed to obtain automatically the \"inductive assertions\" attached to the loops of the program which previously required human \"understanding\" of the program's performance. We distinguish between two general approaches: one in which we obtain the inductive assertion by analyzing predicates which are known to be true at the entrances and exits of the loop (top-down approach), and another in which we generate the inductive assertion directly from the statements of the loop (bottom-up approach).","doi":null,"url":"https://ijcai.org/proceedings/1973/64","pdf":"https://ijcai.org/proceedings/1973/0064.pdf","markdown":"https://ijcai.org/proceedings/1973/64.md","bibtex":"https://ijcai.org/proceedings/1973/bibtex/64","volume":{"slug":"1973","title":"Proceedings of the Third International Joint Conference on Artificial Intelligence","short_title":"IJCAI 1973","url":"https://ijcai.org/proceedings/1973/","year":1973,"location":"Stanford, California, USA","dates":"20-23 August 1973","editors":"Nils J. Nilsson","isbn":"","publisher":"International Joint Conferences on Artificial Intelligence","doi_prefix":""},"section":"Automatic Programming","track":"Automatic Programming","number":64,"pages":{"first":500,"last":511},"keywords":[],"videos":[],"references":[],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}