Pragmatic, Empirical Program Understanding

Workshop Notes, First Workshop on AI an Automated Program Understanding, Tenth National Conference on Artificial Intelligence, 1992

We present a practical method for automatic control concept recognition in large, unstructured imperative programs. Control concepts are abstract notions about interactions between control flow, data flow, and computation, eg.\ ``read-process loop''. They are recognized by comparing a language independent abstract program representation against standard implementation plans. Recognition is efficient and scalable. As an example of the method's applications, we describe how recognized control concepts are used to perform Cobol restructuring with quality not possible with existing syntactic methods. We also describe an experiment demonstrating the method's use for empirical studies of programs and planfulness at the conceptual level.


lianez@cis.ohio-state.edu
Original: 1-Dec-1994
Update: 2-Dec-1994