2013
Autores
Barbosa, FS; Aguiar, A;
Publicação
IEEE 12th International Conference on Intelligent Software Methodologies, Tools and Techniques, SoMeT 2013, Budapest, Hungary, September 22-24, 2013
Abstract
The existence of replicated code in a system makes that system harder to maintain and evolve. To remove replicated code the usual way is to use refactorings. However there are always clones that cannot be removed by refactorings alone. Some are due to lack of composition mechanisms in the underlying programming language. We propose the use of roles to remove such clones since roles provide a finer degree of composition. We sketch four role refactorings to remove code clones and apply them in a case study using the JHotDraw framework. Results show that roles have a positive impact in clone reduction as they were able to remove almost all clones traditional refactorings could not. © 2013 IEEE.
2013
Autores
Barbosa, F; Aguiar, A;
Publicação
EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING, ENASE 2013
Abstract
The presence of code replication can be a consequence of a lack in the composition mechanisms where classes are insufficient to reuse the code that is replicated. To extend the reuse of pieces of code some proposals have been made that try to compose classes using those pieces of code. In this paper we compare two of those approaches: Traits and Roles. We compare their compositions mechanisms and how we can use them to reduce code replication. To study the extent to which they reduce code replication we conducted a case study using the JHotDraw framework where we detect and remove code replication using each technique. Results from the case study show that roles have an advantage over traits, as they are capable of removing more code replication.
2013
Autores
Barbosa, F; Aguiar, A;
Publicação
ENASE: PROCEEDINGS OF THE 8TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING
Abstract
Code replication has significant drawbacks in system maintenance. Code replication can have its origins in the composition limitations of the language. Several proposals have tried to overcome these limitations. A popular one is traits. However, traits do not support state or visibility control. Static roles are also a way of composing classes that has the benefits of traits and offers state, visibility control and other advantages as block renaming. We compare both approaches on how they are used to compose classes, and how they can be used to reduce code replication caused by composition limitations. As a case study we will compare how both approaches can reduce code replication by detecting and removing code clones within the JHotDraw framework. Results show that roles are capable of reducing a larger amount of replicated code than traits.
2013
Autores
Aguiar, A; Riehle, D;
Publicação
OpenSym
Abstract
2013
Autores
Barbosa, F.S.; Aguiar, Ademar;
Publicação
8th International Conference on Software Engineering Advances (ICSEA 2012)
Abstract
Roles can be used to overcome some composition limitations in Object Oriented Languages and contribute to a better code reuse, reducing code replication and improve code maintenance. Therefore, the refactoring of legacy code to roles is an important step in maintaining and evolving this code. In this paper, we present refactorings to convert a system to roles We also present some refactorings that enable roles to be even more reusable.
2013
Autores
Dias, L; Coelho, A; Rodrigues, A; Rebelo, C; Cardoso, A;
Publicação
PROCEEDINGS OF THE 2013 8TH IBERIAN CONFERENCE ON INFORMATION SYSTEMS AND TECHNOLOGIES (CISTI 2013)
Abstract
Recent developments in the areas of augmented reality, 360 degrees panoramas, social networks and geographical information systems enable the development of new solutions, which can contribute to several areas. This paper presents a new, Unity3D [8] based framework for the development of immersive augmented reality solutions and 360 degrees panoramas. This solution allows the aggregation of spatial information from disparate and heterogeneous sources, comprising the visualization of points of interest (POIs), image overlays (photographs), 3D objects and navigation between panoramas. This framework also features a strong multiplatform (web and mobile) component, and the possibility of developing new functional modules that can be easily plugged in. A prototype based on this solution, for geomarketing, is also presented.
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.