Object Identification and Aspect Mining in Procedural Object-Oriented Code

In this dissertation, we present Procedural Object-Oriented Code (POC). POC is the aftermath of the software development activity that involves state of the art object-oriented languages, without employing object-oriented analysis and design. Huge classes, absence of abstractions for domain entities...

Full description

Bibliographic Details
Main Author: Bhatti, Muhammad Usman
Language:ENG
Published: Université Panthéon-Sorbonne - Paris I 2009
Subjects:
Online Access:http://tel.archives-ouvertes.fr/tel-00498436
http://tel.archives-ouvertes.fr/docs/00/49/84/36/PDF/PhD-2008-Bhatti.pdf
id ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-00498436
record_format oai_dc
spelling ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-004984362013-01-07T17:57:13Z http://tel.archives-ouvertes.fr/tel-00498436 http://tel.archives-ouvertes.fr/docs/00/49/84/36/PDF/PhD-2008-Bhatti.pdf Object Identification and Aspect Mining in Procedural Object-Oriented Code Bhatti, Muhammad Usman [INFO] Computer Science [INFO:INFO_SE] Computer Science/Software Engineering Génie Logiciel maintenance Défauts de conception Programmation orienté objet Programmation orienté aspect In this dissertation, we present Procedural Object-Oriented Code (POC). POC is the aftermath of the software development activity that involves state of the art object-oriented languages, without employing object-oriented analysis and design. Huge classes, absence of abstractions for domain entities, and shallow inheritance hierarchies are hallmark design defects of procedural object-oriented code. POC also consists of scattered code appearing not only due to the absence of aspects, but it also manifests scattered code appearing due to the non-abstracted domain enti- ties i.e., domain entities that do not have their proper object-oriented classes. The non-abstracted domain logic hinders mining useful crosscutting concerns related to aspects in POC. Confronted with the absence of object-oriented design and the difficulty of mining aspects in POC, we studied it from two perspectives. First, we improve aspect mining techniques by classifying various crosscutting concerns identified in POC with a two-pronged approach: Firstly, the approach identifies and groups crosscutting concerns present in a software system: aspects as well as non-abstracted domain logic. Crosscutting concerns pertaining to non- abstracted domain entities are identified and extracted through their usage of appli- cation domain entity data. Secondly, a new metric called spread-out is introduced to quantify the divulgence of diverse crosscutting concerns. Second, we studied the problem of object identification in procedural object- oriented code. We present a semi-automatic, tool-assisted approach for restructuring POC into an improved object-oriented design. The approach identifies principal classes in POC. These principal classes are then used to extract object-oriented abstractions using Formal Concept Analysis lattices. This is achieved by providing three different concept lattices, namely fundamental, association, and interactions views. We developed tools to validate the approaches presented in the thesis. The approaches are validated on a recently developed industrial application. The appli- cation is used to run blood plasma analysis automatons. The results of our approach are promising. 2009-02-16 ENG PhD thesis Université Panthéon-Sorbonne - Paris I
collection NDLTD
language ENG
sources NDLTD
topic [INFO] Computer Science
[INFO:INFO_SE] Computer Science/Software Engineering
Génie Logiciel
maintenance
Défauts de conception
Programmation orienté objet
Programmation orienté aspect
spellingShingle [INFO] Computer Science
[INFO:INFO_SE] Computer Science/Software Engineering
Génie Logiciel
maintenance
Défauts de conception
Programmation orienté objet
Programmation orienté aspect
Bhatti, Muhammad Usman
Object Identification and Aspect Mining in Procedural Object-Oriented Code
description In this dissertation, we present Procedural Object-Oriented Code (POC). POC is the aftermath of the software development activity that involves state of the art object-oriented languages, without employing object-oriented analysis and design. Huge classes, absence of abstractions for domain entities, and shallow inheritance hierarchies are hallmark design defects of procedural object-oriented code. POC also consists of scattered code appearing not only due to the absence of aspects, but it also manifests scattered code appearing due to the non-abstracted domain enti- ties i.e., domain entities that do not have their proper object-oriented classes. The non-abstracted domain logic hinders mining useful crosscutting concerns related to aspects in POC. Confronted with the absence of object-oriented design and the difficulty of mining aspects in POC, we studied it from two perspectives. First, we improve aspect mining techniques by classifying various crosscutting concerns identified in POC with a two-pronged approach: Firstly, the approach identifies and groups crosscutting concerns present in a software system: aspects as well as non-abstracted domain logic. Crosscutting concerns pertaining to non- abstracted domain entities are identified and extracted through their usage of appli- cation domain entity data. Secondly, a new metric called spread-out is introduced to quantify the divulgence of diverse crosscutting concerns. Second, we studied the problem of object identification in procedural object- oriented code. We present a semi-automatic, tool-assisted approach for restructuring POC into an improved object-oriented design. The approach identifies principal classes in POC. These principal classes are then used to extract object-oriented abstractions using Formal Concept Analysis lattices. This is achieved by providing three different concept lattices, namely fundamental, association, and interactions views. We developed tools to validate the approaches presented in the thesis. The approaches are validated on a recently developed industrial application. The appli- cation is used to run blood plasma analysis automatons. The results of our approach are promising.
author Bhatti, Muhammad Usman
author_facet Bhatti, Muhammad Usman
author_sort Bhatti, Muhammad Usman
title Object Identification and Aspect Mining in Procedural Object-Oriented Code
title_short Object Identification and Aspect Mining in Procedural Object-Oriented Code
title_full Object Identification and Aspect Mining in Procedural Object-Oriented Code
title_fullStr Object Identification and Aspect Mining in Procedural Object-Oriented Code
title_full_unstemmed Object Identification and Aspect Mining in Procedural Object-Oriented Code
title_sort object identification and aspect mining in procedural object-oriented code
publisher Université Panthéon-Sorbonne - Paris I
publishDate 2009
url http://tel.archives-ouvertes.fr/tel-00498436
http://tel.archives-ouvertes.fr/docs/00/49/84/36/PDF/PhD-2008-Bhatti.pdf
work_keys_str_mv AT bhattimuhammadusman objectidentificationandaspectmininginproceduralobjectorientedcode
_version_ 1716397811927351296