Filipe Figueiredo Correia

dblp:25/7717 · also Filipe F. Correia · DBLP profile ↗
← Back
12ranked-venue papers
2as first author
6since 2021 · last 2026
0000-0002-6653-1598ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 11 · 2 first-author · 5 since 2021Artificial intelligence and machine learning · 1Human-computer interaction and ubiquitous computing · 1 · 1 since 2021
YearPublicationVenuePosition
2026 Can an LLM Detect Instances of Microservice Infrastructure Patterns?
Carlos Eduardo Duarte, Neil B. Harrison, Filipe Figueiredo Correia, Ademar Aguiar, Pavlína Gonçalves
ICSA3
2023 CharM - Evaluating a model for characterizing service-based architectures
Thatiane de Oliveira Rosa, Eduardo Guerra 0001, Filipe Figueiredo Correia, Alfredo Goldman
J. Syst. Softw.3
2022 Designing Microservice Systems Using Patterns: An Empirical Study on Quality Trade-Offs
abstract
The promise of increased agility, autonomy, scalability, and reusability has made the microservices architecture a de facto standard for the development of large-scale and cloud-native commercial applications. Software patterns are an important design tool, and often they are selected and combined with the goal of obtaining a set of desired quality attributes. However, from a research standpoint, many patterns have not been widely validated against industry practice, making them not much more than interesting theories. To address this, we investigated how practitioners perceive the impact of 14 patterns on 7 quality attributes. Hence, we conducted 9 semi-structured interviews to collect industry expertise regarding (1) knowledge and adoption of software patterns, (2) the perceived architectural trade-offs of patterns, and (3) metrics professionals use to measure quality attributes. We found that many of the trade-offs reported in our study matched the documentation of each respective pattern, and identified several gains and pains which have not yet been reported, leading to novel insight about microservice patterns.
Guilherme Vale, Filipe Figueiredo Correia, Eduardo Guerra 0001, Thatiane de Oliveira Rosa, Jonas Fritzsch, Justus Bogner
ICSA2
2022 Dockerlive : A live development environment for Dockerfiles
abstract
The process of developing Dockerfiles is perceived by many developers as slow and based on trial-and-error, and it is hardly immediate to see the result of a change introduced into a Dockerfile. In this work we propose a plugin for Visual Studio Code, which we name Dockerlive, and that has the purpose of shortening the length of feedback loops. Namely, the plugin is capable of providing information to developers on a number of Dockerfile elements, as the developer is writing the Dockerfile. We achieve this through dynamic analysis of the resulting container, which the plugin builds and runs in the background.
David Reis, Filipe Figueiredo Correia
VL/HCC2
2022 Visual notations in container orchestrations: an empirical study with Docker Compose
Bruno Piedade, João Pedro Dias, Filipe Figueiredo Correia
Softw. Syst. Model.3
2022 A Survey on the Adoption of Patterns for Engineering Software for the Cloud
abstract
This work takes as a starting point a collection of patterns for engineering software for the cloud and tries to find how they are regarded and adopted by professionals. Existing literature assesses the adoption of cloud computing with a focus on business and technological aspects and falls short in grasping a holistic view of the underlying approaches. Other authors delve into how independent patterns can be discovered (mined) and verified, but do not provide insights on their adoption. We investigate (1) the relevance of the patterns for professional software developers, (2) the extent to which product and company characteristics influence their adoption, and (3) how adopting some patterns might correlate with the likelihood of adopting others. For this purpose, we survey practitioners using an online questionnaire (n = 102). Among other findings, we conclude that most companies use these patterns, with the overwhelming majority (97 percent) using at least one. We observe that the mean pattern adoption tends to increase as companies mature, namely when varying theproduct operation complexity,active monthly users, andcompany size. Finally, we search for correlations in the adoption of specific patterns and attempt to infer causation, providing further clues on how some practices depend or influence the adoption of others. We conclude that the adoption of some practices correlates with specific company and product characteristics, and find relationships between the patterns that were not covered by the original pattern language and which might deserve further investigation.
Tiago Boldt Sousa, Hugo Sereno Ferreira, Filipe Figueiredo Correia
IEEE Trans. Software Eng.3
2020 Determining Microservice Boundaries: A Case Study Using Static and Dynamic Software Analysis
Tiago Matias, Filipe Figueiredo Correia, Jonas Fritzsch, Justus Bogner, Hugo Sereno Ferreira, André Restivo
ECSA2
2019 Towards an artifact to support agile teams in software analytics activities
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.
Joelma Choma, Eduardo Guerra 0001, Tiago Silva da Silva, Luciana A. M. Zaina, Filipe Figueiredo Correia
SEKE5
2011 Patterns of information classification
abstract
Providing efficient access to information can be approached in different ways, but ultimately implies the creation of an Index, represented with an indexing language, like a Taxonomy, a Thesaurus, an Ontology or a Folksonomy. Each of these languages strikes a different balance between the effort to create and maintain the index, the effectiveness of knowledge capture, the guidance that readers can get, and how efficiently they can get it. Furthermore, in a world in which more and more information is available, two issues gain particular importance in the creation of an index: how can it be done collaborative, and how can the index abstract and express information more richly.
Filipe Figueiredo Correia, Ademar Aguiar
PLoP1
2011 AOM metadata extension points
abstract
An Adaptive Object Model (AOM) is a common architectural style for systems in which classes, attributes, relationships and behaviors of applications are represented as metadata, allowing them to be changed at runtime not only by programmers, but also by end users. Frequently, behavior is added to AOM systems by increasingly adding expressiveness to the model. However, this approach can result in a full blown programming language, which is not desirable. This pattern describes a solution for adding behavior to AOM systems by using metadata to identify points in the application where behavior can be dynamically added. This solution may limit the expressive power of the model, but can also simplify it, since points of extension are well defined in the system.
Patricia Megumi Matsumoto, Filipe Figueiredo Correia, Joseph W. Yoder, Eduardo Guerra 0001, Hugo Sereno Ferreira, Ademar Aguiar
PLoP2
2010 Core patterns of object-oriented meta-architectures
abstract
Meta-architectures, also known as reflective architectures, are a specific type of software architectures that are able to inspect their own structure and behavior, and dynamically adapt at runtime, thus responding to new user requirements or changes in their environment. In object-oriented programming, these architectures rely on a small set of core concepts that provide them the means to describe themselves, thus becoming "closed". These three core patterns can be found in almost every object-oriented meta-architecture: Everything is a Thing, Closing the Roof, and Bootstrapping. By delving into the inherent problems they try to solve, and the forces that shape those problems, a developer will improve his ability to adequately make architectural and design choices to build and evolve systems with high-adaptability needs.
Hugo Sereno Ferreira, Filipe Figueiredo Correia, Joseph W. Yoder, Ademar Aguiar
PLoP2
2009 Software Knowledge Capture and Acquisition: Tool Support for Agile Settings
abstract
Knowledge plays a key role in software development, and the effectiveness of how it is captured into artifacts, and acquired by other team members, is of crucial importance to a project's success. The life-cycle of knowledge in software development is derived from the adopted artifacts, practices and tools. These axes are here reviewed from a knowledge capture and acquisition perspective, and several open research issues are identified. The present work is being carried out in the context of the author's doctoral research. The research objectives are derived from the presented open issues, and a research strategy is outlined. Some preliminary results are also presented.
Filipe Figueiredo Correia, Ademar Aguiar
ICSEA1