Cookies Policy
We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out More
Close
  • Menu
Interest
Topics
Details

Details

  • Name

    Ademar Aguiar
  • Cluster

    Computer Science
  • Role

    Senior Researcher
  • Since

    01st November 1994
002
Publications

2016

Incremental Modular Testing for AOP

Authors
Restivo, A; Aguiar, A; Moreira, A;

Publication
ICSOFT-PT: PROCEEDINGS OF THE 11TH INTERNATIONAL JOINT CONFERENCE ON SOFTWARE TECHNOLOGIES - VOL. 2

Abstract
By designing systems as sets of modules that can be composed into larger applications, developers unleash a multitude of advantages. The promise of AOP (Aspect-Oriented Programming) is to enable developers to organize crosscutting concerns into separate units of modularity making it easier to accomplish this vision. However, AOP does not allow unit tests to be untangled, which impairs the development of properly tested independent modules. This paper presents a technique that enables developers to encapsulate crosscutting concerns using AOP and still be able to develop reusable unit tests. Our approach uses incremental testing and invasive aspects to modify and adapt tests. The approach was evaluated in a medium scale project with promising results. Without using the proposed technique, due to the presence of invasive aspects, some unit tests would have to be discarded or modified to accommodate the changes made by them. This would have a profound impact on the overall modularity and, in particular, on the reusability of those modules. We will show that this technique enables proper unit tests that can be reused even when coupled with aspect-oriented code.

2015

DRIVER - A platform for collaborative framework understanding

Authors
Flores, N; Aguiar, A;

Publication
Proceedings - 2015 30th IEEE/ACM International Conference on Automated Software Engineering, ASE 2015

Abstract
Application frameworks are a powerful technique for large-scale reuse but often very hard to learn from scratch. Although good documentation helps on reducing the learning curve, it is often found lacking, and costly, as it needs to attend different audiences with disparate learning needs. When code and documentation prove insufficient, developers turn to their network of experts. The lack of awareness about the experts, interrupting the wrong people, and experts unavailability are well known hindrances to effective collaboration. This paper presents the DRIVER platform, a collaborative learning environment for framework users to share their knowledge. It provides the documentation on a wiki, where the learning paths of the community of learners can be captured, shared, rated, and recommended, thus tapping into the collective knowledge of the community of framework users. The tool can be obtained at http://bit.ly/driverTool. © 2015 IEEE.

2014

Support for refactoring an application towards an adaptive object model

Authors
Guerra, E; Aguiar, A;

Publication
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

Abstract
Flexibility requirements can appear in the middle of a software development, perceived by several client requests to change the application. A flexible domain model, usually implemented with using the adaptive object model (AOM) architectural style, required custom-made components to handle the current implementation of the domain entities. The problem is that by evolving an AOM model, the components need to be evolved as well, which generates constant rework. This work studied the possible AOM evolution paths, in order to provide support in the components for model changing. An evolution of the Esfinge AOM RoleMapper framework were developed to provide this functionality, allowing AOM models in different stages to be mapped to a single structure. The study was evaluated using a set of tests that were applied in each possible structure for the model. © 2014 Springer International Publishing.

2014

The concept of "Ba" applied to software knowledge

Authors
Flores, N; Aguiar, A; Sereno, H;

Publication
8th International Workshop on Cooperative and Human Aspects of Software Engineering, CHASE 2014 - Proceedings

Abstract
Software development is a knowledge-intensive activity. Software products usually start as a simple idea, or a vision, and then progress towards a final deliverable product. Along this evolution, there is a lot of knowledge that is captured, organized, and shared, leading to new knowledge, both as a whole and within specific development activities. The concept of "Ba" provides a foundation to advance individual and collective knowledge, which describes knowledge creation as a spiral involving tacit and explicit knowledge: the Socialization, Externalization, Combination, Internalization model (a.k.a. SECI model). By applying this foundation to software development, we found issues that may hinder the effective knowledge management cycle. In this paper, we present a vision and a set of requirements for tools to overcome such issues and therefore better support the whole process of software knowledge evolution.

2013

Comparing Two Class Composition Approaches

Authors
Barbosa, F; Aguiar, A;

Publication
Communications in Computer and Information Science

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. © Springer-Verlag Berlin Heidelberg 2013.

Supervised
thesis

2016

Email Classification: a case study

Author
André Ricardo Azevedo Gonçalves da Silva

Institution
UP-FEUP

2016

Agile Forward: a simple toolkit for process improvement

Author
Augusto Amorim Cravo da Silva

Institution
UP-FEUP

2016

Virtualização de estúdios móveis na produção de conteúdos audiovisuais em direto

Author
Miguel Ferreira da Cunha Poeira

Institution
UP-FEUP

2015

Rethinking Email Information Visualization: a case study

Author
Pedro Daniel Cardoso dos Santos

Institution
UP-FEUP

2015

Documenting Software With Adaptive Software Artifacts

Author
Filipe Alexandre Pais de Figueiredo Correia

Institution
UP-FEUP