System Structure Analysis: Clustering with Data Bindings
IEEE Transactions on Software Engineering - Annals of discrete mathematics, 24
Connectionist ideas and algorithms
Communications of the ACM
Software engineering in the UNIX/C environment
Software engineering in the UNIX/C environment
An integrated approach to software engineering
An integrated approach to software engineering
Introduction to artificial neural systems
Introduction to artificial neural systems
Software salvaging and the call dominance tree
Journal of Systems and Software
Artificial Neural Networks: A Tutorial
Computer - Special issue: neural computing: companion issue to Spring 1996 IEEE Computational Science & Engineering
Reengineering of configurations based on mathematical concept analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
An improved algorithm for identifying objects in code
Software—Practice & Experience
A Knowledge-Based Approach to the Analysis of Loops
IEEE Transactions on Software Engineering
Elements of artificial neural networks
Elements of artificial neural networks
A unified framework for expressing software subsystem classification techniques
Journal of Systems and Software
Assessing modular structure of legacy code based on mathematical concept analysis
ICSE '97 Proceedings of the 19th international conference on Software engineering
An intelligent tool for re-engineering software modularity
ICSE '91 Proceedings of the 13th international conference on Software engineering
Automating the detection of reusable parts in existing software
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Extracting concepts from file names: a new file clustering criterion
Proceedings of the 20th international conference on Software engineering
Program Understanding and Maintenance with the CANTO Environment
ICSM '97 Proceedings of the International Conference on Software Maintenance
Effects of Decomposition Techniques on Knowledge-Based Program Understanding
ICSM '97 Proceedings of the International Conference on Software Maintenance
Identifying modules via concept analysis
ICSM '97 Proceedings of the International Conference on Software Maintenance
Extracting Abstract Data Types from C Programs: A Case Study
ICSM '93 Proceedings of the Conference on Software Maintenance
Structure-Based Clustering of Components for Software Reuse
ICSM '93 Proceedings of the Conference on Software Maintenance
Reengineering procedural into object-oriented systems
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Recovering abstract data types and object instances from a conventional procedural language
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Using Clustering Algorithms in Legacy Systems Remodularization
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
Evaluating process clusters to support automatic program understanding
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
Using Automatic Clustering to Produce High-Level System Organizations of Source Code
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
Entropies as Measures of Software Information
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Hierarchical Clustering for Software Architecture Recovery
IEEE Transactions on Software Engineering
DDT: design and evaluation of a dynamic program analysis for optimizing data structure usage
Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture
Hi-index | 0.00 |
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.