Fundamentals of software engineering
Fundamentals of software engineering
Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
Software engineering (4th ed.)
Software engineering (4th ed.)
Using Neural Networks to Modularize Software
Machine Learning - Special issue on structured connectionist systems
A Syntactic Theory of Software Architecture
IEEE Transactions on Software Engineering - Special issue on software architecture
Abstractions for Software Architecture and Tools to Support Them
IEEE Transactions on Software Engineering - Special issue on software architecture
Specification and Analysis of System Architecture Using Rapide
IEEE Transactions on Software Engineering - Special issue on software architecture
An improved algorithm for identifying objects in code
Software—Practice & Experience
An intelligent tool for re-engineering software modularity
ICSE '91 Proceedings of the 13th international conference on Software engineering
Abstract data types and the development of data structures
Communications of the ACM
Finding Components in a Hierarchy of Modules: a Step towards Architectural Understanding
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
Explanation-Driven Case-Based Reasoning
EWCBR '93 Selected papers from the First European Workshop on Topics in Case-Based Reasoning
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
Recovering abstract data types and object instances from a conventional procedural language
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 Mathematical Theory of Communication
A Mathematical Theory of Communication
Supporting program comprehension using semantic and structural information
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Clustering and concept analysis for software evolution
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Identification of High-Level Concept Clones in Source Code
Proceedings of the 16th IEEE international conference on Automated software engineering
Revisiting the ΔIC approach to component recovery
Science of Computer Programming - Software analysis, evolution and re-engineering
Program restructuring using clustering techniques
Journal of Systems and Software - Special issue: Selected papers from the 4th source code analysis and manipulation (SCAM 2004) workshop
Automated clustering to support the reflexion method
Information and Software Technology
Hierarchical Clustering for Software Architecture Recovery
IEEE Transactions on Software Engineering
Software Engineering
Extending the reflexion method for consolidating software variants into product lines
Software Quality Control
Kadre: domain-specific architectural recovery for scientific software systems
Proceedings of the IEEE/ACM international conference on Automated software engineering
Journal of Software Maintenance and Evolution: Research and Practice
Hi-index | 0.00 |
This article presents an approach to identify abstract datatypes (ADT) and abstract state encapsulations (ASE,also called abstract objects) in source code. This approach, namedsimilarity clustering, groups together functions, types, andvariables into ADT and ASE candidates according to the proportion offeatures they share. The set of features considered includes thecontext of these elements, the relationships to their environment,and informal information. A prototype tool has been implemented tosupport this approach. It has been applied to three C systems (eachbetween 30–38 Kloc). The ADTs and ASEs identified by the approachare compared to those identified by software engineers who did notknow the proposed approach or other automatic approaches. Within thiscase study, this approach has been shown to have a higher detectionquality and to identify, in most of the cases, more ADTs and ASEsthan the other techniques. In all other cases its detection qualityis second best. N.B. This article reports on work in progress on thisapproach which has evolved since it was presented in the originalASE97 conference paper.