Identifying objects in procedural programs using clustering neural networks

被引:5
作者
Abd-El-Hafiz S.K. [1 ]
机构
[1] Engineering Mathematics Department, Faculty of Engineering, Cairo University, Giza
关键词
Computer aided software engineering - Computer software reusability - Data structures - Learning algorithms - Neural networks - Procedure oriented languages - Reengineering - Software prototyping;
D O I
10.1023/A:1008718105516
中图分类号
学科分类号
摘要
This paper presents a general approach for the identification of objects in procedural programs. The approach is based on neural architectures that perform an unsupervised learning of clusters. We describe two such neural architectures, explain how to use them in identifying objects in software systems and briefly describe a prototype tool, which implements the clustering algorithms. With the aid of several examples, we explain how our approach can identify abstract data types as well as groups of routines which reference a common set of data. The clustering results are compared to the results of many other object identification techniques. Finally, several case studies were performed on existing programs to evaluate the object identification approach. Results concerning two representative programs and their generated clusters are discussed.
引用
收藏
页码:239 / 261
页数:22
相关论文
共 40 条
[1]  
Abd-El-Hafiz S.K., Effects of decomposition techniques on knowledge-based program understanding, Proceedings of the International Conference on Software Maintenance, pp. 21-30, (1997)
[2]  
Abd-El-Hafiz S.K., Basili V.R., A knowledge-based approach to the analysis of loops, IEEE Trans, on Software Engineering, 22, 5, pp. 339-360, (1996)
[3]  
Abd-El-Hafiz S.K., Basili V.R., Caldiera G., Towards automated support for extraction of reusable components, Proceedings of the Conference on Software Maintenance, pp. 212-219, (1991)
[4]  
Achee B.L., Carver D.L., A greedy approach to object identification in imperative code, Proceedings of the Third Workshop on Program Comprehension, pp. 4-11, (1994)
[5]  
Anquetil N., Lethbridge T., Extracting concepts from file names
[6]  
a new file clustering criterion, Proceedings of the International Conference on Software Engineering, (1998)
[7]  
Antoniol G., Fiutem R., Lutteri G., Merlo E., Program understanding and maintenance with the CANTO environment, Proceedings of the International Conference on Software Maintenance, pp. 72-81, (1997)
[8]  
Canfora G., Cimitile A., Munro M., A reverse engineering method for identifying reusable abstract data types, Proceeding of the First Working Conference on Reverse Engineering, pp. 73-82, (1993)
[9]  
Canfora G., Cimitile A., Munro M., An improved algorithm for identifying objects in code, Software Practice and Experience, 26, 1, pp. 25-48, (1996)
[10]  
Canfora G., Cimitile A., Munro M., Taylor C.J., Extracting abstract data types from C programs: A case study, Proceedings of the International Conference on Software Maintenance, pp. 200-209, (1993)