Title :
Reconsidering Classes in Procedural Object-Oriented Code
Author :
Bhatti, M.U. ; Ducasse, Stéphane ; Huchard, Marianne
Author_Institution :
CRI, Univ. Paris, Paris
Abstract :
Object-oriented software may show signs of procedural thinking because of lack of design or due to design erosion over a period of time. We refer to such a software as procedural object-oriented code. Huge classes, scarce class hierarchies and absence of classes for domain entities are hallmarks of procedural object-oriented code. Due to huge investments in such systems, software restructuring becomes necessary. To support code modularization, it is important to identify useful domain abstractions. In this paper, we present a tool-assisted technique to identify useful abstractions and class hierarchies in procedural object-oriented code. During this task, principal classes (draft classes) are identified. Afterwards, composition and association relationships are inferred for principal classes. Lastly, Formal Concept Analysis (FCA) is used to analyze hierarchical relationships between methods and attributes within principal classes. We validated our approach on several case studies and report our results on an industrial case.
Keywords :
formal languages; object-oriented languages; software engineering; code modularization; formal concept analysis; object-oriented software; principal classes; procedural object-oriented code; sofiware restructuring; tool-assisted technique; Computer industry; Europe; Industrial relations; Investments; Java; Reverse engineering; Scattering; Software design; Software quality; Software systems; Object Identification; Reverse Engineering; Software Restructuring;
Conference_Titel :
Reverse Engineering, 2008. WCRE '08. 15th Working Conference on
Conference_Location :
Antwerp
Print_ISBN :
978-0-7695-3429-9
DOI :
10.1109/WCRE.2008.58