Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by Filipe Figueiredo Correia

2019

Towards an artifact to support agile teams in software analytics activities

Authors
Choma, J; Guerra, E; da Silva, TS; Zaina, LAM; Correia, FF;

Publication
The 31st International Conference on Software Engineering and Knowledge Engineering, SEKE 2019, Hotel Tivoli, Lisbon, Portugal, July 10-12, 2019.

Abstract
Software analytics supports data-driven decision making, which allows software practitioners to leverage valuable insights from software data to improve their processes and many quality aspects of the software. In this paper, we present an artifact designed from a set of patterns to support agile teams to plan and manage software analysis activities, named Software Analytics Canvas. Further, we report the study undertaken to evaluate the ease of use and the utility of our canvas from the practitioners' viewpoint, and a participatory design session carried out to collect information about possible artifact improvements. In general, subjects found the artifact useful, but some of them reported difficulties in learning and understanding how to use it. In the participatory design, they pointed out improvement points and a new layout for the canvas components. The results of both studies helped us refine the proposed artifact, improving both the terms used in each element and the layout of the blocks to make more sense for its users.

2020

Live Software Development Environment Using Virtual Reality: A Prototype and Experiment

Authors
Amaral, D; Domingues, G; Dias, JP; Ferreira, HS; Aguiar, A; Nobrega, R; Correia, FF;

Publication
EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING

Abstract
Successful software systems tend to grow considerably, ending up suffering from essential complexity, and very hard to understand as a whole. Software visualization techniques have been explored as one approach to ease software understanding. This work presents a novel approach and environment for software development that explores the use of liveness and virtual reality (VR) as a way to shorten the feedback loop between developers and their software systems in an interactive and immersive way. As a proof-of-concept, the authors developed a prototype that uses a visual city metaphor and allows developers to visit and dive into the system, in a live way. To assess the usability and viability of the approach, the authors carried on experiments to evaluate the effectiveness of the approach, and how to best support a live approach for software development.

2019

A survey on blockchain technologies and research

Authors
Tavares, B; Correia, FF; Restivo, A;

Publication
JOURNAL OF INFORMATION ASSURANCE AND SECURITY

Abstract
The explosion of blockchain projects in last couple of years shows the general interest in the blockchain technology. Looking towards the current state of the art regarding this technology it becomes clear that the main driver of innovation is the private sector. We believe that understanding main applications of the technology, academic contributions, and private solutions can reveal where the interest in the technology exists and where it can be missing. In particular, this work can help identify open source projects that can provide a framework with next-generation features as; lightning network, directed acyclic graph, mobile compatibility, or compute protocols. New applications of the blockchain technology are still being discovered regularly and in this study several blockchain development frameworks were found. However, in the academic world there are few references to operational, testing, and deployment framework related with the technology. With the expected growth of the technology, integration with preexisting solutions, legacy systems replacement, or new implementations, the need for testing, deploying, exploration, and maintenance is expected to intensify for the technology.

2020

Determining Microservice Boundaries: A Case Study Using Static and Dynamic Software Analysis

Authors
Matias, T; Correia, FF; Fritzsch, J; Bogner, J; Ferreira, HS; Restivo, A;

Publication
SOFTWARE ARCHITECTURE (ECSA 2020)

Abstract
A number of approaches have been proposed to identify service boundaries when decomposing a monolith to microservices. However, only a few use systematic methods and have been demonstrated with replicable empirical studies. We describe a systematic approach for refactoring systems to microservice architectures that uses static analysis to determine the system's structure and dynamic analysis to understand its actual behavior. A prototype of a tool was built using this approach (MonoBreaker) and was used to conduct a case study on a real-world software project. The goal was to assess the feasibility and benefits of a systematic approach to decomposition that combines static and dynamic analysis. The three study participants regarded as positive the decomposition proposed by our tool, and considered that it showed improvements over approaches that rely only on static analysis.

2020

An empirical study on visual programming docker compose configurations

Authors
Piedade, B; Dias, JP; Correia, FF;

Publication
MODELS '20: ACM/IEEE 23rd International Conference on Model Driven Engineering Languages and Systems, Virtual Event, Canada, 18-23 October, 2020, Companion Proceedings

Abstract
Infrastructure-as-Code tools, such as Docker and Docker Compose, play a crucial role in the development and orchestration of cloud-native and at-scale software. However, as IaC relies mostly on the development of text-only specifications, these are prone to misconfigurations and hard to debug. Several works suggest the use of models as a way to abstract their complexity, and some point to the use of visual metaphors. Yet, few empirical studies exist in this domain. We propose a visual programming notation and environment for specifying Docker Compose configurations and proceed to empirically validate its merits when compared with the standard text-only specification. The goal of this work is to produce evidence of the impact that visual approaches may have on the development of IaC. We observe that the use of our solution reduced the development time and error proneness, primarily for configurations definition activities. We also observed a preference for the approach in terms of ease of use, a positive sentiment of its usefulness and intention to use. © 2020 ACM.

2020

Overviewing the liveness of refactoring for energy efficiency

Authors
Moreira, E; Correia, FF; Bispo, J;

Publication
Programming'20: 4th International Conference on the Art, Science, and Engineering of Programming, Porto, Portugal, March 23-26, 2020

Abstract
Mobile device users have been growing in the last years but the limited battery life of these devices is considered one of the major issues amongst users and programmers. Therefore, there is a need to guide developers in developing mobile applications in the most energy efficient way. One of the ways to improve this is to provide live feedback about the energy efficiency of a program while it's being programmed. We have analyzed and compared a total of 16 different tools and presented a list of 15 code smells and respective refactorings. From the analyzed tools, Leafactor is the closest to a valid solution to our problem because it's the only energy-aware tool with the highest liveness level. However, in order to be executed the programmer needs to trigger it on the IDE by selecting the file, instead of automatically being executed without the programmer being noticed and refactor his inefficient code. © 2020 Owner/Author.

  • 2
  • 7