DocumentCode :
3169825
Title :
Reconsidering Classes in Procedural Object-Oriented Code
Author :
Bhatti, M.U. ; Ducasse, Stéphane ; Huchard, Marianne
Author_Institution :
CRI, Univ. Paris, Paris
fYear :
2008
fDate :
15-18 Oct. 2008
Firstpage :
257
Lastpage :
266
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;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Reverse Engineering, 2008. WCRE '08. 15th Working Conference on
Conference_Location :
Antwerp
ISSN :
1095-1350
Print_ISBN :
978-0-7695-3429-9
Type :
conf
DOI :
10.1109/WCRE.2008.58
Filename :
4656417
Link To Document :
بازگشت