---
title: "The Conceptual Calculus For Automatic Program Understanding"
authors:
  - "Daniel Goossens"
doi: ""
url: "https://ijcai.org/proceedings/1981/189"
pdf: "https://ijcai.org/proceedings/1981/0189.pdf"
venue: "Proceedings of the Seventh International Joint Conference on Artificial Intelligence"
year: 1981
pages: "992-996"
track: "Automatic Programming"
keywords:
---

# The Conceptual Calculus For Automatic Program Understanding

Daniel Goossens

*Proceedings of the Seventh International Joint Conference on Artificial Intelligence*, pages 992-996.

## Abstract

The CAN system for automatic understanding of LISP programs is presented. When applied on a LISP progre~, CAN needs no assertion about what the program is intended to do. CAN's general task is to associate a meaning to a program, from which it is able to diagnose eemantic properties (unused portions of code, undefinitions, underused programs, classes of date for which evaluation of an expression never terminates), and to exhibit deep semantic properties. CAN's underlying theory is the conceptual calculus, based on the clausal form of predicate logic. It involves two main ideas - en induction principle specially adapted to program understanding (as opposed to program veriflcat ion). -An extension of unification to equation solving.
