Addressing the Separation of Concerns by means of an Automatic Refactoring Process

Aspect-Oriented Software Development (AOSD) encapsulates the crosscutting concerns (CCCs) increasing the software modularization and reducing the impact when changes are made in the code thereby improving the systems adaptability and reusability. For existing object-oriented (OO) systems to incorpo...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autores principales: Vidal, Santiago Agustín, Marcos, Claudia A.
Formato: Objeto de conferencia Resumen
Lenguaje:Inglés
Publicado: 2010
Materias:
Acceso en línea:http://sedici.unlp.edu.ar/handle/10915/153050
http://39jaiio.sadio.org.ar/sites/default/files/39jaiio-asse-31.pdf
Aporte de:
id I19-R120-10915-153050
record_format dspace
spelling I19-R120-10915-1530502023-05-16T20:04:14Z http://sedici.unlp.edu.ar/handle/10915/153050 http://39jaiio.sadio.org.ar/sites/default/files/39jaiio-asse-31.pdf issn:1850-2792 Addressing the Separation of Concerns by means of an Automatic Refactoring Process Vidal, Santiago Agustín Marcos, Claudia A. 2010 2010 2023-05-16T13:02:38Z en Ciencias Informáticas Aspect-Oriented Software Development (AOSD) crosscutting concerns Aspect-Oriented Software Development (AOSD) encapsulates the crosscutting concerns (CCCs) increasing the software modularization and reducing the impact when changes are made in the code thereby improving the systems adaptability and reusability. For existing object-oriented (OO) systems to incorporate the benefits of AOSD, those systems are usually re-modularized into aspect-oriented (AO) systems. This leads to a need for techniques and tools that can help developers with the identification of crosscutting concerns, called aspect mining, and then with the refactoring of those concerns into aspects, called aspect refactoring. We think that the migration from an OO system to an AO one improves the structure and quality of the software, and thus eases software evolution. Along this line, we believe that the provision of semi-automated support to help the developer to discover crosscutting concerns in legacy systems and to encapsulate them into aspects is really beneficial. For this reason, we focus on the activity of aspect refactoring proposing an iterative process that helps developers to achieve the task of migrating an object-oriented system into an aspect-oriented one by analyzing and applying aspect refactorings. So, by means of this process we expect to improve the maintenance of software systems through the modularization of system functional concerns and crosscutting concerns, and achieving a better flexibility and extensibility of the resultant code. In order to provide automated support, the proposed process uses artificial intelligence techniques. Specifically, we want to automatically identify which aspect refactoring (or a set of them) must be applied given a specific fragment of aspectizable code. Also, we want to predict the order in which the crosscutting concern should be refactorized and additional activities to the refactoring that must be done. These automatic approaches are based on association rules algorithms and hidden Markov models. Currently, the mechanisms for identification based on association rules and the mechanisms for identification based on hidden Markov models have already been developed. Also, the first results of this project have been published conducting case studies in real system. However, more experimentation in real system will be performed with the goal of evaluating the approach. Sociedad Argentina de Informática e Investigación Operativa Objeto de conferencia Resumen http://creativecommons.org/licenses/by-nc-sa/4.0/ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) application/pdf 611-611
institution Universidad Nacional de La Plata
institution_str I-19
repository_str R-120
collection SEDICI (UNLP)
language Inglés
topic Ciencias Informáticas
Aspect-Oriented Software Development (AOSD)
crosscutting concerns
spellingShingle Ciencias Informáticas
Aspect-Oriented Software Development (AOSD)
crosscutting concerns
Vidal, Santiago Agustín
Marcos, Claudia A.
Addressing the Separation of Concerns by means of an Automatic Refactoring Process
topic_facet Ciencias Informáticas
Aspect-Oriented Software Development (AOSD)
crosscutting concerns
description Aspect-Oriented Software Development (AOSD) encapsulates the crosscutting concerns (CCCs) increasing the software modularization and reducing the impact when changes are made in the code thereby improving the systems adaptability and reusability. For existing object-oriented (OO) systems to incorporate the benefits of AOSD, those systems are usually re-modularized into aspect-oriented (AO) systems. This leads to a need for techniques and tools that can help developers with the identification of crosscutting concerns, called aspect mining, and then with the refactoring of those concerns into aspects, called aspect refactoring. We think that the migration from an OO system to an AO one improves the structure and quality of the software, and thus eases software evolution. Along this line, we believe that the provision of semi-automated support to help the developer to discover crosscutting concerns in legacy systems and to encapsulate them into aspects is really beneficial. For this reason, we focus on the activity of aspect refactoring proposing an iterative process that helps developers to achieve the task of migrating an object-oriented system into an aspect-oriented one by analyzing and applying aspect refactorings. So, by means of this process we expect to improve the maintenance of software systems through the modularization of system functional concerns and crosscutting concerns, and achieving a better flexibility and extensibility of the resultant code. In order to provide automated support, the proposed process uses artificial intelligence techniques. Specifically, we want to automatically identify which aspect refactoring (or a set of them) must be applied given a specific fragment of aspectizable code. Also, we want to predict the order in which the crosscutting concern should be refactorized and additional activities to the refactoring that must be done. These automatic approaches are based on association rules algorithms and hidden Markov models. Currently, the mechanisms for identification based on association rules and the mechanisms for identification based on hidden Markov models have already been developed. Also, the first results of this project have been published conducting case studies in real system. However, more experimentation in real system will be performed with the goal of evaluating the approach.
format Objeto de conferencia
Resumen
author Vidal, Santiago Agustín
Marcos, Claudia A.
author_facet Vidal, Santiago Agustín
Marcos, Claudia A.
author_sort Vidal, Santiago Agustín
title Addressing the Separation of Concerns by means of an Automatic Refactoring Process
title_short Addressing the Separation of Concerns by means of an Automatic Refactoring Process
title_full Addressing the Separation of Concerns by means of an Automatic Refactoring Process
title_fullStr Addressing the Separation of Concerns by means of an Automatic Refactoring Process
title_full_unstemmed Addressing the Separation of Concerns by means of an Automatic Refactoring Process
title_sort addressing the separation of concerns by means of an automatic refactoring process
publishDate 2010
url http://sedici.unlp.edu.ar/handle/10915/153050
http://39jaiio.sadio.org.ar/sites/default/files/39jaiio-asse-31.pdf
work_keys_str_mv AT vidalsantiagoagustin addressingtheseparationofconcernsbymeansofanautomaticrefactoringprocess
AT marcosclaudiaa addressingtheseparationofconcernsbymeansofanautomaticrefactoringprocess
_version_ 1766370194970640384