Title :
Learning to recognize reusable software modules using an inductive classification system
Author :
Esteva, Juan Carlos
Author_Institution :
Dept. of Oper. Res. & Inf. Syst., Eastern Michigan Univ., Ypsilanti, MI, USA
Abstract :
An inductive classification system that uses inductive learning techniques, namely, variations on J.R. Quinlan´s (1986) ID3 system to produce a decision tree that can be used to distinguish between reusable and nonreusable code modules, is described. To accomplish that task, a set of high-level concepts used by software engineers to characterize structurally understandable code is identified. Each of these concepts is operationalized in terms of code complexity metrics that can be easily calculated during the compilation process. These metrices are related to various aspects of the program structure including its coupling, cohesion, data structure, control structure, and documentation. The decision tree produced for a sample of 81 Pascal programs outperformed similar classification efforts by a group of professional programmers
Keywords :
classification; inference mechanisms; knowledge acquisition; knowledge based systems; software reusability; ID3 system; Pascal programs; code complexity metrics; compilation process; control structure; data structure; decision tree; documentation; high-level concepts; inductive classification system; inductive learning techniques; knowledge acquisition; reusable software modules; software engineers; structurally understandable code; Classification tree analysis; Data structures; Decision trees; Documentation; Hardware; Information systems; Operations research; Programming environments; Software maintenance; Software reusability;
Conference_Titel :
Information Technology, 1990. 'Next Decade in Information Technology', Proceedings of the 5th Jerusalem Conference on (Cat. No.90TH0326-9)
Conference_Location :
Jerusalem
Print_ISBN :
0-8186-2078-1
DOI :
10.1109/JCIT.1990.128296