System Structure Analysis: Clustering with Data Bindings
IEEE Transactions on Software Engineering - Annals of discrete mathematics, 24
The craft of software engineering
The craft of software engineering
Rigi-A system for programming-in-the-large
ICSE '88 Proceedings of the 10th international conference on Software engineering
A measure for composite module cohesion
ICSE '92 Proceedings of the 14th international conference on Software engineering
A reverse engineering environment based on spatial and visual software interconnection models
SDE 5 Proceedings of the fifth ACM SIGSOFT symposium on Software development environments
Software salvaging and the call dominance tree
Journal of Systems and Software
An improved algorithm for identifying objects in code
Software—Practice & Experience
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
Software architecture recovery and restructuring through clustering techniques
ISAW '98 Proceedings of the third international workshop on Software architecture
Extracting concepts from file names: a new file clustering criterion
Proceedings of the 20th international conference on Software engineering
Identifying objects using cluster and concept analysis
Proceedings of the 21st international conference on Software engineering
Identifying Modules via Concept Analysis
IEEE Transactions on Software Engineering
A comparison of abstract data types and objects recovery techniques
Science of Computer Programming - Special issue on WCRE 97
Concept Analysis for Module Restructuring
IEEE Transactions on Software Engineering
Graph Algorithms
A Metric-Based Approach to Detect Abstract Data Types and State Encapsulations
Automated Software Engineering
Extracting and Restructuring the Design of Large Systems
IEEE Software
Recovering the Structure of Software Systems Using Tube Graph Interconnection Clustering
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Finding Components in a Hierarchy of Modules: a Step towards Architectural 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
Binding Object Models to Source Code: An Approach to Object-Oriented Re-Architecting
COMPSAC '98 Proceedings of the 22nd International Computer Software and Applications Conference
Applying concept formation methods to object identification in procedural code
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
Software Botryology, Automatic Clustering of Software Systems
DEXA '98 Proceedings of the 9th International Workshop on Database and Expert Systems Applications
Architectural Design Recovery Using Data Mining Techniques
CSMR '00 Proceedings of the Conference on Software Maintenance and Reengineering
A Use-Case Driven Method of Architecture Recovery for Program Understanding and Reuse Reengineering
CSMR '00 Proceedings of the Conference on Software Maintenance and Reengineering
A Coupling-Guided Cluster Analysis Approach to Reengineer the Modularity of Object-Oriented Systems
CSMR '00 Proceedings of the Conference on Software Maintenance and Reengineering
Automatic Clustering of Software Systems Using a Genetic Algorithm
STEP '99 Proceedings of the Software Technology and Engineering Practice
Recovering abstract data types and object instances from a conventional procedural language
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Finding objects in procedural programs: an alternative approach
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
A Graph-Based Object Identification Process for Procedural Programs
WCRE '98 Proceedings of the Working Conference on Reverse Engineering (WCRE'98)
MoJo: A Distance Metric for Software Clusterings
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
Experiments with Clustering as a Software Remodularization Method
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
An Incremental Semi-Automatic Method for Component Recovery
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
Revisiting the Delta IC Approach to Component Recovery
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
ACDC: An Algorithm for Comprehension-Driven Clustering
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
Component Clustering Based on Maximal Association
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
A Graph Pattern Matching Approach to Software Architecture Recovery
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
A Pattern Matching Framework for Software Architecture Recovery and Restructuring
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
A Framework for Experimental Evaluation of Clustering Techniques
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
Software Components Capture Using Graph Clustering
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Using Automatic Clustering to Produce High-Level System Organizations of Source Code
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
A Case Study of Applying an Eclectic Approach to Identify Objects in Code
IWPC '99 Proceedings of the 7th International Workshop on Program Comprehension
Software Clustering Techniques and the Use of Combined Algorithm
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Alborz: A Query-based Tool for Software Architecture Recovery
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
A Software Evaluation Model Using Component Association Views
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Applying Spectral Methods to Software Clustering
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
A Multiple Hill Climbing Approach to Software Module Clustering
ICSM '03 Proceedings of the International Conference on Software Maintenance
Software Clustering based on Information Loss Minimization
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
The Weighted Combined Algorithm: A Linkage Algorithm for Software Clustering
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
Architecture-Aware Adaptive Clustering of OO Systems
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
A two-step technique for extract class refactoring
Proceedings of the IEEE/ACM international conference on Automated software engineering
Identifying Extract Class refactoring opportunities using structural and semantic cohesion measures
Journal of Systems and Software
Journal of Software Maintenance and Evolution: Research and Practice
Component types qualification in Java legacy code driven by communication integrity rules
Proceedings of the 4th India Software Engineering Conference
Improving software modularization via automated analysis of latent topics and dependencies
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
Component recovery supports program understanding, architecture recovery, and re-use. Among the best known techniques for detection of re-usable objects (related global variables and their accessor functions) is ΔIC (the improvement in internal connectivity). This paper re-visits the original approach and extends it in different ways. It describes a variant of ΔIC suitable for reverse engineering that omits the slicing step of the original approach. The underlying metric of ΔIC is extended toward types integrating ideas of the Internal Access technique such that abstract data types can also be detected. Furthermore, the connectivity metric of ΔIC is combined with a cohesion metric based on vertex connectivity. The new metrics and the new algorithm for reverse engineering are evaluated and compared to other techniques quantitatively.The new contributions of this paper over the conference paper are the analysis of the relation of the connectivity threshold and recall and precision, additional experiments in varying the ICVC (internal connectivity vertex connectivity) factor, and a detailed comparison of the complementarity of the various techniques.