A Metric-Based Approach to Detect Abstract Data Types and State Encapsulations

作者:Jean-François Girard, Rainer Koschke, Georg Schied

摘要

This article presents an approach to identify abstract data types (ADT) and abstract state encapsulations (ASE, also called abstract objects) in source code. This approach, named similarity clustering, groups together functions, types, and variables into ADT and ASE candidates according to the proportion of features they share. The set of features considered includes the context of these elements, the relationships to their environment, and informal information. A prototype tool has been implemented to support this approach. It has been applied to three C systems (each between 30–38 Kloc). The ADTs and ASEs identified by the approach are compared to those identified by software engineers who did not know the proposed approach or other automatic approaches. Within this case study, this approach has been shown to have a higher detection quality and to identify, in most of the cases, more ADTs and ASEs than the other techniques. In all other cases its detection quality is second best. N.B. This article reports on work in progress on this approach which has evolved since it was presented in the original ASE97 conference paper.

论文关键词:reverse engineering, (re-) modularization, abstract data type and object identification, clustering, technique comparison, case study

论文评审过程:

论文官网地址:https://doi.org/10.1023/A:1008715506131