Demo Data from VLDB 2026 / reviewers in the wild / expert
Américo Sampaio
dblp:61/5350 · also Américo Falcone Sampaio
· DBLP profile ↗
12ranked-venue papers
5as first author
1since 2021 · last 2021
0000-0003-0267-268XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 4 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 1 first-authorSystems, architecture and hardware · 1Databases, data management, data science and information retrieval · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
1 paper |
Requirements engineering and software design · 75% Software maintenance and evolution · 25% |
Topics — the 4 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software maintenance and evolution › reverse engineering
aspect mining |
0.1 | 1 | 2005 | EA-Miner: a tool for automating aspect-oriented requirements identification · ASE 2005 |
Requirements engineering and software design › requirements engineering
aspect-oriented requirements engineering |
0.1 | 1 | 2005 | EA-Miner: a tool for automating aspect-oriented requirements identification · ASE 2005 |
Requirements engineering and software design
requirements analysis |
0.1 | 1 | 2005 | EA-Miner: a tool for automating aspect-oriented requirements identification · ASE 2005 |
Requirements engineering and software design
separation of concerns |
0.1 | 1 | 2005 | EA-Miner: a tool for automating aspect-oriented requirements identification · ASE 2005 |
Methods — techniques the papers use, named apart from their topics
natural language processing · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Migrating production monolithic systems to microservices using aspect oriented programmingabstractAbstract Several organizations need to address the challenge to migrate current traditional monolithic applications in production to microservices, preferably, without having to schedule maintenances to take the application offline. This article presents an approach for migrating to microservices with almost zero downtime and minimal changes in the monolithic code. The approach is based on the concepts of aspect‐oriented programming (AOP) and reflection to enable to intercept calls inside the monolith and transform them into service requests invoking the newly built microservices using the concept of around advices. The aspects do the “dirty work” of decoupling what will be refactored and which service to call and practically “zero” code changes need to be done in the original monolithic code. This enables one key novel contribution of our migration approach which is the ability to revert code and data changes without having to take the system offline. Two applications are used as proofs of concept to demonstrate that the proposed approach enables to go “forward” or “backward” among different versions of the application with minimal code or data changes. An evaluation performed in the cloud demonstrates that this work does not introduce significant performance or cost overhead when compared to the current state of the art and to the original monolith. Augusto Flávio A. A. Freire, Américo Sampaio, Luis Heustakio L. Carvalho, Otávio Medeiros, Nabor das Chagas Mendonça |
Softw. Pract. Exp. | 2 |
| 2018 | Cloud application architecture appraiser (CA3): A multicriteria approach and tool for assessing cloud deployment options based on nonfunctional requirementsabstractSummary Cloud computing is an emerging computing paradigm that is changing software engineering. It offers scalable virtual compute resources at low prices, thus attracting many software developers interested in reducing their infrastructure and operational costs. Even though acquiring and using cloud solutions can be simple, a common difficulty developers face is how to best configure their applications at the architectural level, given a myriad of cloud services and resource types available, specially when considering different attributes such as cost, scalability, and performance. An inappropriate architectural decision can lead to a significant cost increase or a deployment option that does not meet the minimum required performance. This paper focuses on the problem of finding the best cloud deployment options for a given application that meet a given set of well‐known nonfunctional requirements. To address this problem, the paper presents Cloud Application Architecture Appraiser (CA3), a multicriteria optimization approach and tool that relies on nonfunctional requirements as key drivers for assessing and selecting the best architectural options for deploying applications in the cloud. Results from the assessment of a real web application (WordPress), deployed using several different architectural options in a popular cloud provider (Amazon), are also presented to illustrate the use and benefits of the proposed method and tool. Ronaldo Gonçalves Junior, Américo Sampaio, Tiago Rolim, Nabor das Chagas Mendonça |
Softw. Pract. Exp. | 2 |
| 2017 | Cloud Crawler: a declarative performance evaluation environment for infrastructure-as-a-service cloudsabstractSummary As the number of infrastructure‐as‐a‐service (IaaS) cloud offers in the market increases, selecting an appropriate configuration of cloud resources for a given application becomes a non‐trivial task even for experienced developers. Because cloud resources are relatively cheap, usually charged by the hour, developers could systematically evaluate the performance of their application using different resource types from different cloud providers, thus allowing them to accurately identify the best providers and resource types for their application. However, conducting systematic performance tests in multiple IaaS clouds may require a significant amount of planning and configuration effort from application developers. This paper presents Cloud Crawler, a declarative environment for specifying and conducting application performance tests in IaaS clouds. The environment includes a novel declarative domain‐specific language, Crawl, by means of which cloud users can describe, at a high abstraction level, a large variety of performance evaluation scenarios for a given application, and a scenario execution engine, Crawler, which automatically configures, executes, and collects the results of the scenarios described in Crawl. The paper also reports on how Cloud Crawler has been successfully used to systematically test the performance of two open‐source web applications in public IaaS clouds. Copyright © 2016 John Wiley & Sons, Ltd. Matheus Cunha, Nabor das Chagas Mendonça, Américo Sampaio |
Concurr. Comput. Pract. Exp. | 3 |
| 2016 | An Approach for Evaluating Cloud Application Topologies Based on TOSCAabstractProvisioning cloud applications usually is a complex task as it involves the deployment and configuration of several components (e.g., load balancer, application server, database) and cloud services (computing, storage, CDN, etc.) also known as application blueprints or topologies. The Topology and Orchestration Specification for Cloud Applications (TOSCA) is a recent standard that has focused on standardizing the way cloud applications are structured and managed to favor interoperability. In this paper we describe an approach that facilitates the evaluation of different application topologies by enabling cloud users to easily provision and evaluate different TOSCA topology options based on performance and cost metrics. We show the technical feasibility of the approach based on a case study with the WordPress blogging application where various topologies were automatically provisioned and evaluated in order to gain insights into the best (w.r.t. performance) options. Américo Sampaio, Tiago Rolim, Nabor das Chagas Mendonça, Matheus Cunha |
CLOUD | 1 |
| 2015 | Performance Inference: A Novel Approach for Planning the Capacity of IaaS Cloud ApplicationsabstractThis work presents a novel approach to support application capacity planning in infrastructure-as-a-service (IaaS) clouds. The approach, called performance inference, relies on the assumption that it is possible to establish a capacity relation between different resource configurations offered by a given IaaS provider, enabling one to infer an application's performance under certain resource configurations and workloads, based upon the application's actual performance as observed for other related resource configurations and workloads. Preliminary evaluation results, obtained from testing the performance of a well-known blogging application (Word Press) in a public IaaS cloud (Amazon EC2), show that the best performance inference strategies can significantly reduce (over 80%) the total number of application deployment scenarios that need to be actually tested in the cloud, with a high (over 98%) inference accuracy. Marcelo Gonçalves, Matheus Cunha, Nabor das Chagas Mendonça, Américo Sampaio |
CLOUD | 4 |
| 2013 | A Declarative Environment for Automatic Performance Evaluation in IaaS CloudsabstractOne of the main challenges faced by users of infrastructure-as-a-service (IaaS) clouds is the difficulty to adequately estimate the virtual resources necessary for their applications. Although many cloud providers offer programatic ways to rapidly acquire and release resources, it is important that users have a prior understanding of the impact that each virtual resource type offered by the provider may impose on application performance. This paper presents Cloud Crawler, a new declarative environment aimed at supporting users in describing and automatically executing application performance tests in IaaS clouds. To this end, the environment provides a novel declarative domain-specific language, called Crawl, which supports the description of a variety of performance evaluation scenarios in multiple IaaS clouds, and an extensible Java-based cloud execution engine, called Crawler, which automatically configures, executes and collects the results of each performance evaluation scenario described in Crawl. To illustrate Cloud Crawler's potential benefits, the paper reports on an experimental evaluation of a social network application in two public IaaS cloud providers, in which the proposed environment has successfully been used to investigate the application performance for different virtual machine configurations and under different demand levels. Matheus Cunha, Nabor das Chagas Mendonça, Américo Sampaio |
IEEE CLOUD | 3 |
| 2013 | TREXCLOUD: Java EE IaaS Cloud Deployment Made EasyabstractCloud computing is becoming mainstream in software development, with many organizations now considering migrating their applications to the cloud. However, the task of deploying Java Enterprise Edition (JEE) applications in infrastructure-as-a-service (IaaS) clouds is generally daunting due to a number of manual steps necessary to configure all application components as a set of virtual machine images. This work presents a tool, TREXCLOUD, which supports the task of deploying a fully functional Java Enterprise application in IaaS clouds with a few clicks. TREX Cloud enables users to easily upload a set of files that contain the application components (e.g.,. war files, database back up, context files) so that the tool automatically deploys and configures the whole application stack in an IaaS provider selected by the user. An empirical study shows how TREXCLOUD enables users, independently of their level of expertise, to quickly deploy a complete JEE application in the Amazon cloud when compared to two different approaches: Amazon EC2 dashboard and Amazon Elastic Beanstalk. Roberto Costa Lima, Ricardo Hollanda Filho, Américo Sampaio, Nabor das Chagas Mendonça |
IEEE CLOUD | 3 |
| 2011 | Investigating the Impact of Deployment Configuration and User Demand on a Social Network Application in the Amazon EC2 CloudabstractOne of the main challenges faced by current users of infrastructure-as-a-service (IaaS) clouds are the difficulties to estimate cloud resources according to their application needs. Even though cloud platforms are elastic and provide fast means to acquire or release resources it is important to understand the best ways to do that considering a diversity of providers with many different resource types and prices. This work reports on an experimental investigation conducted on a popular cloud benchmark based on a social network application running on top of the Amazon EC2 cloud. Our experiments aim at finding cost-effective ways to select the different EC2 resource types and deployment configurations based on the demand imposed to the application (measured in number of simultaneous users) and identify the configuration that gives the best return in terms of its cost per user. Matheus Cunha, Nabor das Chagas Mendonça, Américo Sampaio |
CloudCom | 3 |
| 2007 | A Comparative Study of Aspect-Oriented Requirements Engineering ApproachesabstractAspect-Oriented Requirements Engineering (AORE) aims at improving separation of concerns in the problem space by offering new ways of modularising requirements. Over recent years several AORE approaches have emerged by evolving contemporary requirements approaches such as viewpoints-, scenarios- and goal-based models. Due to the novelty of these techniques, there is a lack of systematic comparative studies analyzing the benefits and drawbacks they can offer to the requirements engineering practice. This paper presents a case study contrasting four eminent AORE approaches in terms of time effectiveness and accuracy of their produced outcome. We address challenges related to the heterogeneous definitions for AORE model concepts as well as the fact that they perform similar general requirements process activities in different ways. In order to address these challenges, we provide a mapping of the AORE approaches onto general RE activities and provide a common naming scheme. The case study results show that specification of aspect compositions in AORE presents an effort bottleneck that has to be carefully weighed against the added benefits of modularity and analysis of systemic properties offered by AORE. Consequently, our study provides an initial yet significant stepping stone towards improving the evaluation of AORE approaches and understanding their contribution to requirements engineering. Américo Sampaio, Phil Greenwood, Alessandro F. Garcia 0001, Awais Rashid |
ESEM | 1 |
| 2005 | EA-Miner: a tool for automating aspect-oriented requirements identificationabstractAspect-Oriented requirements engineering helps to achieve early separation of concerns by supporting systematic analysis of broadly-scoped properties such as security, real-time constraints, etc. The early identification and separation of aspects and base abstractions crosscut by them helps to avoid costly refactorings at later stages such as design and code. However, if not handled effectively, the aspect identification task can become a bottleneck requiring a significant effort due to the large amount of, often poorly structured or imprecise, information available to a requirements engineer. In this paper, we describe a tool, EA-Miner, that provides effective automated support for identifying and separating aspectual and non-aspectual concerns as well as their crosscutting relationships at the requirements level. The tool utilises natural language processing techniques to reason about the properties of the concerns and model their structure and relationships. Américo Sampaio, Ruzanna Chitchyan, Paul Rayson |
ASE | 1 |
| 2005 | Early-AIM: An Approach for Identifying Aspects in RequirementsabstractIdentifying aspects at an early stage helps to achieve separation of crosscutting concerns in the initial system analysis, instead of deferring such decisions to later stages of design and code, and thus, having to perform costly refactorings. This paper describes the early-AIM (early aspects identification method) approach that utilises corpus-based natural language processing (NLP) techniques to effectively enable the identification and modelling of early aspects in a semi-automated way. Américo Sampaio, Awais Rashid, Paul Rayson |
RE | 1 |
| 2004 | XWebProcess: Agile Software Development for Web Applications
Américo Sampaio, Alexandre M. L. de Vasconcelos, Pedro R. Falcone Sampaio |
ICWE | 1 |