"Understanding Natural Programs Using Proper Decomposition"

{\em 13th International Conference on Software Engineering - ICSE-13\/}, (1991)

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 because the program representation is hierarchically decomposed by propers (single entry/exit control flow sub-graphs). A recognition experiment using the UNPROG program understander shows the method's performance, the role of proper decomposition, and planfulness in a sample of programs. 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.


Web Master
Original: 1-Dec-1994
Update: 2-Dec-1994