In the migration of object-oriented systems towards the aspect technology, after locating fragments of code presenting a crosscutting behavior and before extracting such code to aspects, transformations may be needed in the base program. Such transformations aim to associate crosscutting code to points of the base program that can be captured using the pointcut descriptor model of aspect-oriented languages. In this paper, we present a catalog of object-oriented transformations and demonstrate the importance of such transformations by reporting on a case study involving four systems that have been aspectized using AspectJ.
Despite its unquestionable importance, software maintenance usually has a negative image among software developers and even project managers. As a result, it is common to consider maintenance requests as short-term tasks that should be implemented as quick as possible to have a minimal impact for end-users. In order to promote software maintenance to a first-class software development activity, we first define in this paper a lightweighted process -called PASM (Process for Arranging Software Maintenance Requests) -for handling maintenance as software projects. Next, we describe an in-depth evaluation of the benefits achieved by the PASM process at a real software development organization. For this purpose, we rely on a set of clustering analysis techniques in order to better understand and compare the requests handled before and after the adoption of the proposed process. Our results indicate that the number of projects created to handle maintenance requests has increased almost three times after this organization has adopted the PASM process. Furthermore, we also concluded that projects based on the PASM present a better balance between the various software engineering activities. For example, after adopting PASM the developers have dedicated more time to analysis and validation and less time to implementation and codification tasks.
When extracting crosscutting concerns from object-oriented systems to aspects, it is often needed to transform the code in order to enable the application of aspects. Although not extensively documented in the literature, object-oriented transformations are critical to turn legacy systems ready to aspect-oriented refactoring. For this reason, in this paper, we provide a set of guidelines for maintainers and developers interested in preparing object-oriented systems to the aspect technology. Moreover, we present a tool that can help developers to identify the need of object-oriented transformations. We also evaluate the proposed guidelines and supporting tool through two case studies.
O planejamento e gerenciamento da manutenção de software é um problema tanto para usuários quanto para engenheiros de software. O processo que conduz a execução das demandas registradas pelos usuários pode interferir diretamente no custo da manutenção. O presente estudo apresenta o Processo para Agrupamento de Solicitações de Manutenção (PASM), descrevendo suas diretrizes para guiar a priorização, agrupamento e execução de diversos tipos de manutenção de software. O PASM foi aplicado na Divisão de Tecnologia da PUC Minas e entre os benefícios identificados encontram-se o aumento de 18,76% das horas trabalhadas em projetos de manutenção e um declínio de 27,73% nas horas trabalhadas em solicitações urgentes.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.