Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Rafael Serapilha Durelli is active.

Publication


Featured researches published by Rafael Serapilha Durelli.


Journal of the Brazilian Computer Society | 2015

A combined approach for concern identification in KDM models

Daniel S. M. Santibáñez; Rafael Serapilha Durelli; Valter Vieira de Camargo

BackgroundSystems are considered legacy when their maintenance costs raise to unmanageable levels, but they still deliver valuable benefits for companies. One intrinsic problem of this kind of system is the presence of crosscutting concerns in their architecture, hindering its comprehension and evolution. Architecture-driven modernization (ADM) is the new generation of reengineering in which models are used as main artifacts during the whole process. Using ADM, it is possible to modernize legacy systems by remodularizing their concerns in a more modular shape. In this sense, the first step is the identification of source code elements that contribute to the implementation of those concerns, a process known as concern mining. Although there exist a number of concern mining approaches in the literature, none of them are devoted to ADM, leading individual groups to create their own ad hoc proprietary solutions. In this paper, we propose an approach called crosscutting-concern knowledge discovery meta-model (CCKDM) whose goal is to mine crosscutting concerns in ADM context. Our approach employs a combination of a concern library and a K-means clustering algorithm.MethodsWe have conducted an experimental study composed of two analyses. The first one aimed to identify the most suitable levenshtein values to apply the clustering algorithm. The second one aimed to check the recall and precision of our approach when compared to oracles and also to two other existing mining techniques (XScan and Timna) found in literature.ResultsThe main result of this work is a combined mining approach for KDM that enables a concern-oriented modernization to be performed. As a secondary and more general result, this work shows that it is possible to adapt existing concern mining code-level approaches for being used in ADM processes and maintain the same level of precision and recall.ConclusionsBy using the approach herein presented, it was possible to conclude the following: (i) it is possible to automate the identification of crosscutting concerns in KDM models and (ii) the results are similar or equal to other approaches.


information reuse and integration | 2014

A mapping study on architecture-driven modernization

Rafael Serapilha Durelli; Daniel S. M. Santibáñez; Bruno Marinho; Raphael Rodrigues Honda; Márcio Eduardo Delamaro; Nicolas Anquetil; Valter Vieira de Camargo

Background: Perhaps the most common of all software engineering activities is the modernization of software. Unfortunately, during such modernization often leaves behind artifacts that are difficult to understand for those other than its author. Thus, the Object Management Group (OMG) has defined standards in the modernization process, by creating the concept of Architecture-Driven Modernization (ADM). Nevertheless, to the best of our knowledge, there is no a systematic mapping study providing an overview of how researchers have been employing ADM. Thus, we assert that there is a need for a more systematic investigation of the topics encompassed by this research area. Objective: To describe a systematic mapping study on ADM, highlighting the main research thrusts in this field. Method: We undertook a systematic mapping study, emphasizing the most important electronic databases. Results: We identified 30 primary studies, which were classified by their contribution type, focus area, and research type. Conclusion: This systematic mapping can be seen as a valuable initial foray into ADM for those interested in doing research in this field. More specifically, our paper provides an overview of the current state of the art and future trends in software modernization area, which may serve as a road-map for researchers interested in coming up with new tools and processes to support the modernization of legacy systems.


Journal of the Brazilian Computer Society | 2017

DCL 2.0: modular and reusable specification of architectural constraints

Henrique Rocha; Rafael Serapilha Durelli; Ricardo Terra; Sândalo Bessa; Marco Tulio Valente

BackgroundDue to the abstract nature of software architecture concepts, ensuring the correct implementation of architectural decisions is not a trivial task. Divergences between the planned architecture and source code may occur in the early stages of the software development, which denotes a phenomenon known as software architecture erosion. Architectural conformance checking techniques have been proposed to tackle the problem of divergences between the planned architecture and source code. Among such techniques, we can note the DCL (dependency constraint language), which is a domain-specific language that has interesting results in architectural conformance contexts. However, the current version of DCL has some limitations, such as lack of modularity and low degree of reuse, which may prevent its adoption in real software development scenarios. In this article, we extend DCL with a reusable, modular, and hierarchical specification.MethodWe propose and evaluate DCL 2.0—an extension of the original DCL—and its tool in a real-world development scenario of a large system used by a government branch of Minas Gerais, Brazil.ResultWe were able to detect 771 architectural violations where 74% of them could only be detected due to the new violation types proposed in DCL 2.0.ConclusionBy using DCL 2.0 herein presented, it was possible to conclude the following: (i) DCL 2.0 proved importance in helping the development team consistently address violations, and (ii) after using DCL 2.0 for months, the number of architectural violations being committed into the system branches was reduced to zero. Therefore, we argue that DCL 2.0 can have a positive impact on the architectural conformance of systems.


international conference on enterprise information systems | 2014

Evaluating the Effort for Modularizing Multiple-Domain Frameworks Towards Framework Product Lines with Aspect-oriented Programming and Model-driven Development

Victor Hugo Santiago C. Pinto; Rafael Serapilha Durelli; André Luiz de Oliveira; Valter Vieira de Camargo

Multiple-Domain Frameworks (MDFs) are frameworks that unconsciously involve variabilities from several domains and present two main problems: i) useless variabilities in the final releases and ii) architectural inflexibility. One alternative for solving this problem is to convert them into Framework Product Lines (FPL). FPL is a product line whose members are frameworks rather than complete applications. The most important characteristic of FPLs is the possibility of creating members (frameworks) holding just the desired variabilities. However, the process of converting an MDF into an FPL is very time-consuming and the choice for the most suitable technique may improve significantly the productivity. The main focus of this paper is an experiment that evaluates two techniques that are usually considered for dealing with features: model-driven development and aspect-oriented programming. Our experiment was conducted comparing the effort in converting an MDF called GRENJ into an FPL called GRENJ-FPL The results showed significant differences regarding the time spent and the occurrence of errors using both techniques.


Journal of Software Engineering Research and Development | 2015

F3T: a tool to support the F3 approach on the development and reuse of frameworks

Matheus Carvalho Viana; Rosângela Aparecida Dellosso Penteado; Antonio Francisco do Prado; Rafael Serapilha Durelli

BackgroundFrameworks are used to enhance the quality of applications and the productivity of the development process, since applications may be designed and implemented by reusing framework classes. However, frameworks are hard to develop, learn and reuse, due to their adaptive nature. From Feature to Frameworks (F3) is an approach that supports framework development in two steps: Domain Modeling, to model domain features of the framework; and Framework Construction, to develop framework source-code based on the modeled domain and on patterns provided by this approach.MethodsIn this article, it is presented the From Features to Framework Tool (F3T), which supports the use of the F3 approach on framework development.ResultsThis tool provides an editor for domain modeling and generates framework source-code according to the patterns of the F3 approach. In addition, F3T also generates a Domain-Specific Modeling Language that allows the modeling of applications and the generation of their source-code. F3T has been evaluated in two experiments and the results are presented in this article.ConclusionsF3T facilitates framework development and reuse by omitting implementation complexities and performing code generation.


IRI (best papers) | 2014

Developing Frameworks from Extended Feature Models

Matheus Carvalho Viana; Rosângela Penteado; Antonio Francisco do Prado; Rafael Serapilha Durelli

Frameworks are composed of concrete and abstract classes implementing the functionality of a domain. Applications can reuse framework design and code to improve their quality and be developed more efficiently. However, framework development is a complex task, since it must be adaptable enough to be reused by several applications. In this chapter we present the From Features to Framework (F3) approach, which aims to facilitate the development of frameworks. This approach is divided in two steps: Domain Modeling, in which framework domain is defined in a extended feature model; and Framework Construction, in which the framework is designed and implemented by following a set of patterns from its feature model. Since these steps can be systematically applied, we also present the design of a tool that supports the use of the F3 approach on framework development. Moreover, we performed an experiment that showed that the F3 approach makes framework development easier and more efficient.


international conference on enterprise information systems | 2013

Reengineering of Object-Oriented Software into Aspect-Oriented Ones Supported by Class Models

Paulo Afonso Parreira Júnior; Rosângela Penteado; Matheus Carvalho Viana; Rafael Serapilha Durelli; Valter Vieira de Camargo; Heitor Costa

Object-Oriented Software Reengineering (OO) into Aspect-Oriented Software (AO) is a challenging task, mainly when it is done by means of refactorings in the code-level. The reason is that direct transformation from OO code to AO one needs of several design decisions due to differences of both paradigms. To make this transformation more controlled and systematic, we propose the use of concern-based refactorings, supported by class models. It allows design decisions to be made during the reengineering process, improving the quality of the final models. An example is presented to assess the applicability of the proposed refactorings. Moreover, we also present a case study, in which AO class models created based on the refactorings are compared with another obtained without the aid of them. The data obtained indicated that the use of the proposed refactorings improved the efficacy and productivity of maintenance groups during the process of software reengineering.


information reuse and integration | 2013

An approach to develop frameworks from feature models

Matheus Carvalho Viana; Rosângela Penteado; Antonio Francisco do Prado; Rafael Serapilha Durelli

Frameworks are reusable software composed of concrete and abstract classes that implement the functionality of a domain. Applications can reuse framework design and code in order to improve their quality and be developed more efficiently. However, to develop software for reuse, such as a framework, is harder than to develop an application. Hence, in this paper we present an approach, named From Features to Framework (F3), to facilitate the development of white box frameworks. This approach is divided in two steps: Domain Modeling, in which the features of the framework are defined; and Framework Construction, in which the framework is designed and implemented according to its features and their relationships. We also present an experiment that evaluated the F3 approach showing that it makes framework development easier and more efficient.


brazilian symposium on software engineering | 2013

F3T: From Features to Frameworks Tool

Matheus Carvalho Viana; Rosângela Penteado; Antonio Francisco do Prado; Rafael Serapilha Durelli

Frameworks are used to enhance the quality of applications and the productivity of development process, since applications can be designed and implemented by reusing framework classes. However, frameworks are hard to develop, learn and reuse, due to their adaptive nature. In this paper we present the From Features to Framework Tool (F3T), which supports framework development in two steps: Domain Modeling, in which the features of the framework domain are modeled, and Framework Construction, in which the source-code and the Domain-Specific Modeling Language (DSML) of the framework are generated from the features. In addition, the F3T also supports the use of the framework DSML to model applications and generate their source-code. The F3T has been evaluated in a experiment that is also presented in this paper.


Journal of Software Engineering Research and Development | 2013

Model-based reuse for crosscutting frameworks: assessing reuse and maintenance effort

Thiago Gottardi; Rafael Serapilha Durelli; Oscar Pastor López; Valter Vieira de Camargo

BackgroundOver the last years, a number of researchers have investigated how to improve the reuse of crosscutting concerns. New possibilities have emerged with the advent of aspect-oriented programming, and many frameworks were designed considering the abstractions provided by this new paradigm. We call this type of framework Crosscutting Frameworks (CF), as it usually encapsulates a generic and abstract design of one crosscutting concern. However, most of the proposed CFs employ white-box strategies in their reuse process, requiring two mainly technical skills: (i) knowing syntax details of the programming language employed to build the framework and (ii) being aware of the architectural details of the CF and its internal nomenclature. Also, another problem is that the reuse process can only be initiated as soon as the development process reaches the implementation phase, preventing it from starting earlier.MethodIn order to solve these problems, we present in this paper a model-based approach for reusing CFs which shields application engineers from technical details, letting him/her concentrate on what the framework really needs from the application under development. To support our approach, two models are proposed: the Reuse Requirements Model (RRM) and the Reuse Model (RM). The former must be used to describe the framework structure and the later is in charge of supporting the reuse process. As soon as the application engineer has filled in the RM, the reuse code can be automatically generated.ResultsWe also present here the result of two comparative experiments using two versions of a Persistence CF: the original one, whose reuse process is based on writing code, and the new one, which is model-based. The first experiment evaluated the productivity during the reuse process, and the second one evaluated the effort of maintaining applications developed with both CF versions. The results show the improvement of 97% in the productivity; however little difference was perceived regarding the effort for maintaining the required application.ConclusionBy using the approach herein presented, it was possible to conclude the following: (i) it is possible to automate the instantiation of CFs, and (ii) the productivity of developers are improved as long as they use a model-based instantiation approach.

Collaboration


Dive into the Rafael Serapilha Durelli's collaboration.

Top Co-Authors

Avatar

Matheus Carvalho Viana

Federal University of São Carlos

View shared research outputs
Top Co-Authors

Avatar

Valter Vieira de Camargo

Federal University of São Carlos

View shared research outputs
Top Co-Authors

Avatar

Antonio Francisco do Prado

Federal University of São Carlos

View shared research outputs
Top Co-Authors

Avatar

Rosângela Penteado

Federal University of São Carlos

View shared research outputs
Top Co-Authors

Avatar

Daniel S. M. Santibáñez

Federal University of São Carlos

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Bruno Marinho

Federal University of São Carlos

View shared research outputs
Top Co-Authors

Avatar

Heitor Costa

Universidade Federal de Lavras

View shared research outputs
Researchain Logo
Decentralizing Knowledge