@InProceedings{ colbrook.smythe:retrospective,
author = {A. Colbrook and C. Smythe},
title = {The Retrospective Introduction of Abstraction into
Software},
booktitle = {Proceedings of the International Conference on Software
Maintenance ~1989},
year = {1989},
organization = {IEEE},
publisher = {IEEE Computer Society Press},
pages = {166-173},
abstract = {The re-engineering of program control flow schemas,
although a widely advocated preventive maintenance
technique, fails to address the underlying problems of
software which contains poorly structured data.
A technique is proposed which facilitates the retrospective
introduction of abstract data types into existing systems
and the corresponding software tool to aid this process is
presented. The resulting source code is structured in terms
of both data and control flow, thereby significantly
promoting the ease of maintenance. },
class = {Alteration, Re-Design,
Introduction_of_Abstract_Data_Types_and_Objects}
}
Identifying Objects using Cluster and Concept Analysis, Deursen, A. van and T. Kuipers
@InProceedings{ deursen.kuipers:identifying,
author = {Deursen, A. van and T. Kuipers},
title = {Identifying Objects using Cluster and Concept Analysis},
booktitle = {21st International Conference on Software Engineering,
ICSE-99},
publisher = {ACM},
year = {1999},
pages = {246--255},
url = {http://www.cwi.nl/~arie/papers/split.pdf},
abstract = {Many approaches to support (semi-automatic) identification
of objects in legacy code take the data structures as
starting point for candidate classes. Unfortunately, legacy
data structures tend to grow over time, and may contain
many unrelated fields at the time of migration. We propose
a method for identifying objects by semi-automatically
restructuring the legacy data structures. Issues involved
include the selection of record fields of interest, the
identification of procedures actually dealing with such
fields, and the construction of coherent groups of fields
and procedures into candidate classes. We explore the use
of cluster and concept analysis for the purpose of object
identification, and we illustrate their effect on a 100,000
LOC Cobol system. Furthermore, we use these results to
contrast clustering with concept analysis techniques.},
keywords = {remodularization, cluster analysis, concept analysis,
class diagram},
class = {Introduction_of_Abstract_Data_Types
Inter-module_Reorganizatio
From_Procedural_to_Object-Oriented Reverse_Design Re-Design
System_Modularization Recovery_of_Software_Architecture
Alteration Software_Reverse_Engineering }
}