Sérgio Soares

dblp:58/232 · also Sérgio C. B. Soares, Sérgio Castelo Branco Soares · DBLP profile ↗
← Back
56ranked-venue papers
4as first author
5since 2021 · last 2025
0000-0002-4428-2535ORCID · verified

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

Software engineering, systems software and programming languages · 42 · 4 first-author · 4 since 2021Artificial intelligence and machine learning · 14 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 6 · 2 first-authorHuman-computer interaction and ubiquitous computing · 3Databases, data management, data science and information retrieval · 1
YearPublicationVenuePosition
2025 Comparing the Efficacy of Rapid Review With a Systematic Review in the Software Engineering Field
abstract
ABSTRACT Context Rapid Reviews are secondary studies aiming to deliver evidence to experts in a more timely manner and with lower costs than traditional literature reviews. Previous studies have shown that experts and researchers are positive toward Rapid Reviews. However, little is known about how Rapid Reviews differ from traditional Systematic Reviews. Objective The goal of this paper is to compare a Rapid Review with a Systematic Review in terms of their methods (e.g., search strategy, study selection, quality assessment, and data extraction) and findings to understand how optimizing the traditional Systematic Review method impacts what we obtain with Rapid Review. Method To achieve this goal, we conducted a Systematic Review with the same research questions answered by a pre‐existing Rapid Review and compared those two studies. Also, we surveyed experts from industry and academia to evaluate the relevance of the findings obtained from both the secondary studies. Results The Rapid Review lasted 6 days, while the Systematic Review took 1 year and 2 months. The main bottlenecks we identified in the Systematic Review are (i) executing the search strategy and (ii) selecting the procedure. Together, they took 10 months. The researchers had to analyze the information from 11,383 papers for the Systematic Review compared with 1973 for the Rapid Review. Still, most ( 78%) of the papers included in the Systematic Review were returned by the Rapid Review search, and some papers that could be included were unduly excluded during the Rapid Review's selection procedure. Both secondary studies identified the same number of pieces of evidence (30), but the pieces of evidence are not the same. Conclusion The Rapid Review and Systematic Review results are inherently different and complementary. The time and cost to conduct a Systematic Review can be prohibitive in experts' contexts. Thus, at least in such situations, a Rapid Review may be an adequate choice. Moreover, a Rapid Review may be executed in the experts' context as a previous low‐cost step before deciding to invest in a high‐cost Systematic Review.
Carolline Pena, Bruno Cartaxo, Igor Steinmacher, Deepika Badampudi, Deyvson da Silva, Williby da Silva Ferreira, Adauto Almeida, Fernando Kamei, Sérgio Soares
J. Softw. Evol. Process.9
2023 Privacy and Security Documents for Agile Software Engineering: An Experiment of LGPD Inventory Adoption
abstract
Context: Society 5.0 depends on intelligent technologies that capture and monitor data in real-time. Software development needs to guarantee the privacy and protection of personal data, according to regulations such as the GDPR in Europe and the LGPD in Brazil. Objective: The main goal of this study is to check the possibility of Personal Data Inventory (PDI) adoption for User Stories and BDD Scenarios creation, to verify its relevance regarding software understanding and documentation. Method: An experiment was performed with 34 undergraduate students from higher education institutions in Brazil. They had to create User Stories and BDD Scenarios from two documents: (1) PDI and (2) a detailed system description. Results: After assessing 184 software engineering artifacts, findings indicated there were no statistically significant differences in the quantity and quality of Stories and Scenarios generated by the two groups. Conclusion: The PDI document can be effectively employed in the Requirements Engineering field as a valuable tool for comprehending and specifying software, thereby ensuring compliance with data protection and privacy regulations. The fusion of Information Security and Software Engineering has the potential to enhance the development of products and services that align better with privacy requirements.
Juliana Saraiva, Sérgio Soares
ESEM2
2023 An error correction system for sea surface temperature prediction
Ricardo de A. Araújo, Paulo S. G. de Mattos Neto, Nadia Nedjah, Sérgio Soares
Neural Comput. Appl.4
2021 What Evidence We Would Miss If We Do Not Use Grey Literature?
abstract
Context: Multivocal Literature Reviews (MLR) search for evidence in both Traditional Literature (TL) and Grey Literature (GL). Despite the growing interest in MLR-based studies, the literature assessing how GL has contributed to MLR studies is still scarce. Objective: This research aims to assess how the use of GL contributed to MLR studies. By contributing, we mean, understanding to what extent GL is providing evidence that is indeed used by an MLR to answer its research question. Method: We start by conducting a tertiary study to identify MLR studies published between 2017 and 2019, selecting nine of them. We then identified the GL used in these studies and assessed to what extent the GLs are providing evidence that help these studies to answer their research questions. Results: Our analysis identified that 1) GL provided evidence not found in TL, 2) most of the GL sources were used to provide recommendations to solve problems, explain a topic, and classify the findings, and 3) 19 different GL types were used in the studies; these GLs were mainly produced by SE practitioners (including blog posts, slides presentations, or project descriptions). Conclusions: We evidence how GL contributed to MLR studies. We observed that if these GLs were not included in the MLR, several findings would have been omitted or weakened. We also described the challenges involved when conducting this investigation, along with potential ways to deal with them, which may help future SE researchers.
Fernando Kamei, Gustavo Pinto 0001, Igor Scaliante Wiese, Márcio Ribeiro 0001, Sérgio Soares
ESEM5
2021 Grey Literature in Software Engineering: A critical review
Fernando Kamei, Igor Scaliante Wiese, Crescencio Rodrigues Lima Neto, Ivanilton Polato, Vilmar Nepomuceno, Waldemar Ferreira, Márcio Ribeiro 0001, Carolline Pena, Bruno Cartaxo, Gustavo Pinto 0001, Sérgio Soares
Inf. Softw. Technol.11
2020 Avoiding Plagiarism in Systematic Literature Reviews: An Update Concern
abstract
Background: The number of Systematic Literature Reviews published in Software Engineering has been increasing in recent years. Due to this fact, one point not addressed is the possibility of plagiarism when dealing with SLRs, especially when dealing with SLR maintenance (update) activities.
Vilmar Nepomuceno, Sérgio Soares
ESEM2
2019 Facilitators and Barriers to Using Alternative and Augmentative Communication Systems by Aphasic: Therapists Perceptions
abstract
Previous research identifies facilitators and barriers related to the use of Alternative and Augmentative Communication Systems, however, more evidence is needed to understand aspects related to introduction of such systems in an outpatient setting. This paper aims to analyze theses aspects by identifying the facilitators and barriers that comprise systems' use by aphasic people at a University Clinic in Brazil. Semi-structured interviews were conducted and the collected data were analyzed based on qualitative techniques like open coding and constant comparison. In addition to the factors found in previous research, this study identified new factors such as: cost, infantilized systems and sentences' quality produced, that can be considered as facilitators or barriers in using AAC systems. The results of this research can be used to improve the current and new AAC systems.
Jayr Pereira, Carolline Pena, Mariana de Melo, Bruno Cartaxo, Robson do Nascimento Fidalgo, Sérgio Soares
CBMS6
2019 Software Engineering Research Community Viewpoints on Rapid Reviews
abstract
Background: One of the most important current challenges of Software Engineering (SE) research is to provide relevant evidence to practice. In health related fields, Rapid Reviews (RRs) have shown to be an effective method to achieve that goal. However, little is known about how the SE research community perceives the potential applicability of RRs. Aims: The goal of this study is to understand the SE research community viewpoints towards the use of RRs as a means to provide evidence to practitioners. Method: To understand their viewpoints, we invited 37 researchers to analyze 50 opinion statements about RRs, and rate them according to what extent they agree with each statement. Q-Methodology was employed to identify the most salient viewpoints, represented by the so called factors. Results: Four factors were identified: Factor A groups undecided researchers that need more evidence before using RRs; Researchers grouped in Factor B are generally positive about RRs, but highlight the need to define minimum standards; Factor C researchers are more skeptical and reinforce the importance of high quality evidence; Researchers aligned to Factor D have a pragmatic point of view, considering RRs can be applied based on the context and constraints faced by practitioners. Conclusions: In conclusion, although there are opposing viewpoints, there are also some common grounds. For example, all viewpoints agree that both RRs and Systematic Reviews can be poorly or well conducted.
Bruno Cartaxo, Gustavo Pinto 0001, Baldoino Fonseca dos Santos Neto, Márcio Ribeiro 0001, Pedro Pinheiro, Maria Teresa Baldassarre, Sérgio Soares
ESEM7
2019 Semistructured Merge in JavaScript Systems
abstract
Industry widely uses unstructured merge tools that rely on textual analysis to detect and resolve conflicts between code contributions. Semistructured merge tools go further by partially exploring the syntactic structure of code artifacts, and, as a consequence, obtaining significant merge accuracy gains for Java-like languages. To understand whether semistructured merge and the observed gains generalize to other kinds of languages, we implement two semistructured merge tools for JavaScript, and compare them to an unstructured tool. We find that current semistructured merge algorithms and frameworks are not directly applicable for scripting languages like JavaScript. By adapting the algorithms, and studying 10,345 merge scenarios from 50 JavaScript projects on GitHub, we find evidence that our JavaScript tools report fewer spurious conflicts than unstructured merge, without compromising the correctness of the merging process. The gains, however, are much smaller than the ones observed for Java-like languages, suggesting that semistructured merge advantages might be limited for languages that allow both commutative and non-commutative declarations at the same syntactic level.
Alberto Trindade Tavares, Paulo Borba, Guilherme Cavalcanti, Sérgio Soares
ASE4
2019 On the need to update systematic literature reviews
Vilmar Nepomuceno, Sérgio Soares
Inf. Softw. Technol.2
2019 PrioriTTVs: A process aimed at supporting researchers to prioritize threats to validity and their mitigation actions when planning controlled experiments in SE
Eudis Teixeira, Liliane Fonseca, Bruno Cartaxo, Sérgio Soares
Inf. Softw. Technol.4
2018 The Role of Rapid Reviews in Supporting Decision-Making in Software Engineering Practice
abstract
Context: Recent work on Evidence Based Software Engineering (EBSE) suggests that systematic reviews lack connection with Software Engineering (SE) practice. In Evidence Based Medicine there is a growing initiative to address this kind of problem, in particular through what has been named as Rapid Reviews (RRs). They are adaptations of regular systematic reviews made to fit practitioners constraints.
Bruno Cartaxo, Gustavo Pinto 0001, Sérgio Soares
EASE3
2018 Maintaining systematic literature reviews: benefits and drawbacks
abstract
Background: Maintenance and traceability (versioning) are constant concerns in Software Engineering (SE), however, few works related to these topics in Systematic Literature Reviews (SLR) were found. Goal: The goal of this research is to elucidate how SLRs can be maintained and what are the benefits and drawbacks in this process. Method: This work presents a survey where experienced researchers that conducted SLRs between 2011 and 2015 answered questions about maintenance and traceability and, using software maintenance concepts, it addresses the SLRs maintenance process. From the 79 e-mails sent we reach 28 answers. Results: 19 of surveyed researchers have shown interest in keeping their SLRs up-to-date, but they have expressed concerns about the effort to be made to accomplish it. It was also observed that 20 participants would be willing to share their SLRs in common repositories, such as GitHub. Conclusions: There is a need to perform maintenance on SLRs. Thus, we are proposing a SLR maintenance process, taking into account some benefits and drawbacks identified during our study and presented through the paper.
Vilmar Nepomuceno, Sérgio Soares
ESEM2
2018 Towards a model to transfer knowledge from software engineering research to practice
Bruno Cartaxo, Gustavo Pinto 0001, Sérgio Soares
Inf. Softw. Technol.3
2017 A Comparative Study of Model-Driven Approaches For Scoping and Planning Experiments
abstract
Context: Through the years researchers have proposed several approaches to foster the growth and quality of experiments in Software Engineering. Among these approaches, there are some initiatives that rely on tool support for specifying controlled experiments. Goal: This paper reports results from a study, which aims to organize, analyze and outline the specifications of each initiative through a comparative analysis. Method: Specifications of each initiative have been compared through a comparative analysis, carried out according to eight criteria: (i) standard empirical concepts, (ii) goals and targets, (iii) involved variables, (iv) subject description, (v) design of experiment, (vi) tasks and activities, (vii) instruments and measurements, and (viii) the threats to research validity. Results: The results show that, among the tools currently existing and used in literature, the eSEE (Experimental Software Engineering Environment) is a complete model. However, it is also the most complex. In the other hand, the most flexible one is Experiment DSL. Conclusion: Based on our results, the currently existing solutions have strengths and weaknesses that should address efforts to make improvements in this area. In principal, our general suggestion is to place emphasis on methodological quality âĂŞ more than on method quantity.
Waldemar Ferreira, Maria Teresa Baldassarre, Sérgio Soares, Bruno Cartaxo, Giuseppe Visaggio
EASE3
2017 Describing What Experimental Software Engineering Experts Do When They Design Their Experiments - A Qualitative Study
abstract
Background: Although there has been a significant amount of research focused on designing and conducting controlled experiments, few studies report how experienced experimental software engineering researchers actually design and conduct their studies. Aims: This study aimed to offer a practical perspective from their viewpoint regarding controlled experiment planning. Method: We collected data through semi-structured interviews from 11 researchers, and we used qualitative analysis methods from the grounded theory approach to analyze them. Result: Although the complete study presents four research questions, in this paper, we answer the first one. As a result, we present a preliminary result about what these experts actually do when they design experiments. Conclusions: This work contributes to a better understanding of the practical performance of experimental software engineering.
Liliane Fonseca, Carolyn B. Seaman, Sérgio Soares
ESEM3
2017 Using Q&A websites as a method for assessing systematic reviews
abstract
Questions and Answers (Q&A) websites maintain a long history of needs, problems, and challenges that software developers face. In contrast to Q&A websites, which are strongly tied to practitioners' needs, there are systematic reviews (SRs), which, according to recent studies, lack a connection with software engineering practice. In this paper, we investigate this claim by assessing to what extent systematic reviews help to solve questions posted on Q&A websites. To achieve this goal, we propose and evaluate a coverage method. We applied this method to a set of more than 600 questions related to agile software development. Results suggest that 12% of the related questions were covered. When considering specific agile methods, the majority of them have coverage below 50% or were not covered at all. We also identified 27 recurrent questions.
Bruno Cartaxo, Gustavo Pinto 0001, Danilo Monteiro Ribeiro, Fernando Kamei, Ronnie E. S. Santos, Fabio Q. B. da Silva, Sérgio Soares
MSR7
2016 Evidence Briefings: Towards a Medium to Transfer Knowledge from Systematic Reviews to Practitioners
abstract
Context: Integrate research evidence with practice is one of the main goals of evidence-based software engineering. However, recent studies show that the connection between systematic reviews and practitioners has not fully established.
Bruno Cartaxo, Gustavo Pinto 0001, Elton Vieira, Sérgio Soares
ESEM4
2015 Support mechanisms to conduct empirical studies in software engineering: a systematic mapping study
abstract
Context: Empirical studies are gaining recognition in the Software Engineering (SE) research community, allowing improved quality of research and accelerating the adoption of new technologies in the software market. However, empirical studies in this area are still limited. In order to foster empirical research in SE, it is essential to understand the resources available to aid these studies. Goal: Identify support mechanisms (methodology, tool, guideline, process, etc.) used to conduct empirical studies in the Empirical Software Engineering (ESE) community. Method: We performed a systematic mapping study that included all full papers published at EASE, ESEM and ESEJ since their first editions. Were selected 891 studies between 1996 and 2013. Results: A total of 375 support mechanisms were identified. We provide the full list of mechanisms and the strategies that uses them. Despite this, we identified a high number of studies that do not cite any mechanism to support their empirical strategies: 433 studies (48%). Experiment is the strategy that has more resources to support their activities. And guideline was the most used type of mechanism. Moreover we observed that the most mechanisms used as reference to empirical studies are not specific to SE area. And some mechanisms were used only in specific activities of empirical research, such as statistical and qualitative data analysis. Experiment and case studies are the strategies most applied. Conclusions: The use of empirical methods in SE has increased over the years. Despite this, many studies did not apply these methods and do not cite any resource to guide their research. Therefore, the list of support mechanisms, where and how they were applied is a major asset to the SE community. Such asset can encourage empirical studies aiding the choice regarding which strategies and mechanisms to use in a research, as well as pointing out examples where they were used, mainly to novice researchers. We also identified new perspectives and gaps that foster other research for the improvement of empirical research in this area.
Alex N. Borges, Waldemar Ferreira, Emanoel Francisco Spósito Barreiros, Adauto Almeida, Liliane Fonseca, Eudis Teixeira, Aline Alencar, Sérgio Soares
EASE9
2015 Improving Performance and Maintainability of Object Cloning with Lazy Clones: An Empirical Evaluation
abstract
Object cloning is demanded by the prototype design pattern, copy-on-write strategy, some graph transformations, and many other scenarios. We have been developing a static analysis tool that clones objects frequently. In that context, issues related to performance, memory usage, and code maintainability might arise. Traditional deep cloning with dynamic allocation, reflection, and serialization, have not fulfilled those requirements. Thus, we developed novel implementations of lazy cloning with dynamic proxies and aspect-oriented programming (AOP). We defined benchmarks based on real workload to quantitatively assess the benefits of each implementation. AOP was chosen since it better harmonizes performance, memory usage and code maintainability. It was 88% faster than serialization, consumed 9 times less memory than reflection, and required 25 times less modifications on source code than dynamic allocation. In summary, we believe that the results can be extrapolated to broader contexts helping developers to make evidence-based decisions when object cloning is needed.
Bruno Cartaxo, Paulo Borba, Sérgio Soares, Helio Fugimoto
ESEM3
2015 An Analysis of Software Engineering Experiments Using Human Subjects
abstract
Context: Researchers perform experiments to check their proposals under controlled conditions. Thus, experiments are an important category of empirical studies and are the classical approach for identifying cause-effect relationships. Goal: Quantitatively characterize and analyze the controlled experiments in software engineering published in journal and conference proceedings in the decade from 2003 to 2013. Method: We performed a systematic mapping study that includes all full papers published at EASE, ESEM and ESEJ. A total of 731 were selected. Results: We obtained 110 papers that report controlled experiments. In these experiments we obtained quantitative data about authors and institutions, subjects, tasks, environment, replication and threats to validity. Conclusions: The main contribution of this work is the amount of experiments published in the three main venues of Empirical Software Engineering between the years 2003 to 2013. And also how these experiments are being reported and executed.
Larissa Falcão, Waldemar Ferreira, Alex N. Borges, Vilmar Nepomuceno, Sérgio Soares, Maria Teresa Baldassarre
ESEM5
2015 Toward a Meta-Ontology for Accurate Ontologies to Specify Domain Specific Experiments in Software Engineering
Waldemar Ferreira, Maria Teresa Baldassarre, Sérgio Soares, Giuseppe Visaggio
PROFES3
2015 Classifying metrics for assessing Object-Oriented Software Maintainability: A family of metrics' catalogs
Juliana Saraiva, Micael Soares de França, Sérgio Soares, Fernando Castor Filho, Renata M. C. R. de Souza
J. Syst. Softw.3
2014 Support mechanisms to conduct empirical studies in software engineering
abstract
Context: Empirical studies are gaining recognition in the Software Engineering (SE) research community. In order to foster empirical research, it is essential understand the environments, guidelines, process, and other mechanisms available to support these studies in SE. Goal: Identifying the mechanisms used to support the empirical strategies adopted by the researches in the major Empirical Software Engineering (ESE) scientific venues. Method: We performed a systematic mapping study that included all full papers published at EASE, ESEM and ESEJ since their first editions. A total of 898 studies were selected. Results: We provide the full list of identified support mechanisms and the strategies that uses them. The most commonly mechanisms used to support the empirical strategies were two sets of guidelines, one to secondary studies and another to experiments. The most reported empirical strategies are experiments and case studies. Conclusions: The use of empirical methods in SE has increased over the years but many studies do not apply these methods nor use mechanisms to guide their research. Therefore, the list of support mechanisms, where and how they were applied is a major asset to the SE community. Such asset can foster empirical studies aiding the choice regarding which strategies and mechanisms to use in a research. Also, we identified new perspectives and gaps that foster the development of resources to aid empirical studies.
Alex N. Borges, Waldemar Ferreira, Emanoel Francisco Spósito Barreiros, Adauto Almeida, Liliane Fonseca, Eudis Teixeira, Aline Alencar, Sérgio Soares
ESEM9
2013 Ontologies supporting the distributed software development: a systematic mapping study
abstract
Background: Along the last decade, there has been a significant increase in the adoption of the approaches based on Distributed Software Development (DSD). This approach has brought several competitive advantages, as well as new challenges such as communication and information sharing. In this context, the ontologies can provide benefits such as the definition, standardization and sharing of knowledge involved in the project, allowing a uniform understanding of information and facilitating the collaboration among distributed software development teams. Aim: Identifying evidence to determine which tools, models, techniques and best practices that use ontologies to support the DSD projects, and which ontologies proposed in this context. Method: This paper presents a systematic mapping study conducted in order to investigate how ontologies are being applied as a support to the DSD. The research protocol was based on Kitchenham's, and Travassos and Biolchini's guidelines. Searches were performed both in manual and automatic way in a set of digital libraries engines and leading conferences in the Software Engineering field. Results: From the initial set of 1588 studies, it was selected a total of 38 primary studies that answer the two research questions. Conclusions: This work presents evidences from each paper collected and an analysis of results reached. The results support the foundation for proposing and developing a feature based on ontologies to support the DSD, besides encouraging further researches that may promote advancements in this area and fostering the adoption of these types of resources by the global software industry.
Alex N. Borges, Sérgio Soares, Silvio Romero de Lemos Meira, Hilário Tomaz, Rodrigo G. C. Rocha, Catarina Costa
EASE2
2013 Automated Support for Controlled Experiments in Software Engineering: A Systematic Review (S)
Marília Aranha Freire, Daniel Alencar da Costa, Edmilson Campos Neto, Tainá Medeiros, Uirá Kulesza, Eduardo Aranha, Sérgio Soares
SEKE7
2013 The crosscutting impact of the AOSD Brazilian research community
Uirá Kulesza, Sérgio Soares, Christina von Flach G. Chavez, Fernando Castor Filho, Paulo Borba, Carlos José Pereira de Lucena, Paulo César Masiero, Cláudio Sant'Anna, Fabiano Cutigi Ferrari, Vander Alves, Roberta Coelho, Eduardo Figueiredo 0001, Paulo F. Pires, Flávia Coimbra Delicato, Eduardo Piveta, Carla T. L. L. Silva, Valter Vieira de Camargo, Rosana T. V. Braga, Julio César Sampaio do Prado Leite, Otávio Augusto Lazzarini Lemos, Nabor das Chagas Mendonça, Thaís Vasconcelos Batista, Rodrigo Bonifácio, Nélio Cacho, Lyrene Fernandes da Silva, Arndt von Staa, Fábio Fagundes Silveira, Marco Túlio Valente, Fernanda M. R. Alencar, Jaelson Brelaz de Castro, Ricardo Argenton Ramos, Rosângela A. D. Penteado, Cecília M. F. Rubira
J. Syst. Softw.2
2012 Aspect-oriented software maintenance metrics: A systematic mapping study
abstract
Background: Despite the number of empirical studies that assess Aspect-Oriented Software Development (AOSD) techniques, more research is required to investigate, for example, how software maintainability is impacted when these techniques are employed. One way to minimize the effort and increase the reliability of results in further research is to systematize empirical studies in Aspect-Oriented Software Maintainability (AOSM). In this context, metrics are useful as indicators to quantify software quality attributes, such as maintenance. Currently, a high number of metrics have been used throughout the literature to measure software maintainability. However, there is no comprehensive catalogue showing which metrics can be used to measure AOSM. Aim: To identify an AOSM metrics suite to be used by researchers in AOSM research. Method: We performed a systematic mapping study based on Kitchenham and Charters' guidelines, which derived a research protocol, and used well known digital libraries engines to search the literature. Conclusions: A total of 138 primary studies were selected. They describe 67 aspect-oriented (AO) maintainability metrics. Also, out of the 575 object-oriented maintainability metrics that we analyzed, 469 can be adapted to AO software. This catalogue provides an objective guide to researchers looking for maintainability metrics to be used as indicators in their quantitative and qualitative assessments. We provide information such as authors, metrics description, and studies that used the metric. Researchers can use this information to decide which metrics are more suited for their studies.
Juliana Saraiva, Emanoel Francisco Spósito Barreiros, Adauto Almeida, Flavio Lima, Aline Alencar, Gustavo Lima, Sérgio Soares, Fernando Castor Filho
EASE7
2012 ESEML: empirical software engineering modeling language
abstract
New processes, patterns, structures, tools, languages, and practices are being proposed for software development, but technology transfer is hard to achieve. One of the objectives of empirical studies is easing technology transfer from academy to industry. On the other hand, there are a number of issues that hinder the application of empirical studies, more specifically, controlled experiments. This paper defines a visual DSL for modeling controlled experiments supporting researchers that are not experts in such study. By using the language, the researcher is guided to define the elements of an experimental plan and connections, which is automatically generated, resulting a complete document of experimental plan. The proposed environment assists the definition of controlled experiments, increasing empirical evaluation of the proposed technologies. More specifically, the current version of our proposal generates the experimental plan from the experiment model defined using the DSL.
Bruno Cartaxo, Italo Costa, Dhiego Abrantes, André L. M. Santos, Sérgio Soares, Vinicius Cardoso Garcia
DSM@SPLASH5
2012 Hybrid morphological methodology for software development cost estimation
Ricardo de A. Araújo, Sérgio Soares, Adriano Lorena Inácio de Oliveira
Expert Syst. Appl.2
2012 An evolutionary morphological approach for software development cost estimation
Ricardo de A. Araújo, Adriano Lorena Inácio de Oliveira, Sérgio Soares, Silvio Romero de Lemos Meira
Neural Networks3
2011 A Systematic Mapping Study on Software Engineering Testbeds
abstract
Even though empirical research has grown in interest, techniques, methodologies and best practices are still in debate. In this context, test beds are effective when one needs to evaluate and compare technologies. The concept is well disseminated in other areas such as Computer Networks, but remains poorly explored in Software Engineering (SE). This paper presents a systematic mapping study on the SE test beds literature. From the initial set of 4239 studies, 13 primary studies were selected and categorized. Based on that, we found that Software Architecture is the most investigated topic, controlled experiment is the most used method to evaluate such test beds, 20 benefits of using test beds in SE have been identified and that test beds comprise very heterogeneous structural elements.
Emanoel Francisco Spósito Barreiros, Adauto Almeida, Juliana Saraiva, Sérgio Soares
ESEM4
2011 An evolutionary approach to design dilation-erosion perceptrons for stock market indices forecasting
abstract
In this work we present an evolutionary learning process using the covariance matrix adaptation evolutionary strategy (CMAES) to design the dilation-erosion perceptron (DEP) for stock market indices forecasting. Also, we have included an automatic phase fix procedure (APFP) into proposed learning process to eliminate time phase distortions observed in some forecasting problems. The main advantage of the DEP model designed by our learning process, apart from its higher forecasting performance, is do not request any methodology to overcome the nondifferentiability of morphological operators needed into classical gradient-based learning process of the DEP model. Besides, we present an experimental analysis using two stock market indices, where five well-known performance metrics and an evaluation function are used to assess forecasting performance.
Ricardo Araujo Costa, Adriano Lorena Inácio de Oliveira, Sérgio Soares, Silvio Romero de Lemos Meira
GECCO3
2011 On the impact of feature dependencies when maintaining preprocessor-based software product lines
abstract
During Software Product Line (SPL) maintenance tasks, Virtual Separation of Concerns (VSoC) allows the programmer to focus on one feature and hide the others. However, since features depend on each other through variables and control-flow, feature modularization is compromised since the maintenance of one feature may break another. In this context, emergent interfaces can capture dependencies between the feature we are maintaining and the others, making developers aware of dependencies. To better understand the impact of code level feature dependencies during SPL maintenance, we have investigated the following two questions: how often methods with preprocessor directives contain feature dependencies? How feature dependencies impact maintenance effort when using VSoC and emergent interfaces? Answering the former is important for assessing how often we may face feature dependency problems. Answering the latter is important to better understand to what extent emergent interfaces complement VSoC during maintenance tasks. To answer them, we analyze 43 SPLs of different domains, size, and languages. The data we collect from them complement previous work on preprocessor usage. They reveal that the feature dependencies we consider in this paper are reasonably common in practice; and that emergent interfaces can reduce maintenance effort during the SPL maintenance tasks we regard here.
Márcio Ribeiro 0001, Felipe Queiroz, Paulo Borba, Társis Tolêdo, Claus Brabrand, Sérgio Soares
GPCE6
2011 Gradient-based morphological approach for software development cost estimation
abstract
In this paper we present a gradient-based morphological approach to solve the software development cost estimation (SDCE) problem. The proposed approach consists of a dilation-erosion perceptron (DEP) trained by a gradient steepest descent method using the back propagation (BP) algorithm and a systematic approach to overcome the problem of nondifferentiability of morphological operators. Furthermore, we compare the proposed approach with other neural and statistical models using five complex SDCE problems.
Ricardo de A. Araújo, Adriano Lorena Inácio de Oliveira, Sérgio Soares, Silvio Romero de Lemos Meira
IJCNN3
2011 Designing dilation-erosion perceptrons with differential evolutionary learning for air pressure forecasting
abstract
The dilation-erosion perceptron (DEP) is a class of hybrid artificial neurons based on framework of mathematical morphology (MM) with algebraic foundations in the complete lattice theory (CLT). A drawback arises from the gradient estimation of dilation and erosion operators into classical gradient-based learning process of the DEP model, since they are not differentiable of usual way. In this sense, we present a differential evolutionary learning process, called DEP(MDE), using a modified differential evolution (MDE) to design the DEP model for air pressure forecasting. Also, we have included an additional step into learning process, called automatic phase fix procedure (APFP), to eliminate time phase distortions observed in some forecasting problems. Furthermore, an experimental analysis is presented using two complex time series, where five well-known performance metrics and an evaluation function are used to assess forecasting performance.
Ricardo de A. Araújo, Adriano Lorena Inácio de Oliveira, Sérgio Soares, Silvio Romero de Lemos Meira
IJCNN3
2011 Dilation-erosion perceptrons with evolutionary learning for weather forecasting
abstract
The Dilation-erosion perceptron (DEP) is considered a good forecasting model, whose foundations are based on mathematical morphology (MM) and complete lattice theory (CLT). However, a drawback arises from the gradient estimation of morphological operators into classical gradient-based learning process, since they are not differentiable of usual way. In this sense, this work presents an evolutionary learning process, called DEP(MGA), using a modified genetic algorithm (MGA) to design the DEP model for weather forecasting. In addition, we have included an automatic phase fix procedure (APFP) into the proposed learning process to eliminate time phase distortions observed in some temporal phenomena. At the end, an experimental analysis is presented using two complex time series, where five well-known performance metrics and an evaluation function are used to assess forecasting performance.
Ricardo de A. Araújo, Adriano Lorena Inácio de Oliveira, Sérgio Soares, Silvio Romero de Lemos Meira
SMC3
2011 A shift-invariant morphological system for software development cost estimation
Ricardo de A. Araújo, Adriano Lorena Inácio de Oliveira, Sérgio Soares
Expert Syst. Appl.3
2011 Six years of systematic literature reviews in software engineering: An updated tertiary study
Fabio Q. B. da Silva, André L. M. Santos, Sérgio Soares, A. César C. França, Cleviton V. F. Monteiro, Felipe Farias Maciel
Inf. Softw. Technol.3
2010 Assessing the Impact of AOSD on Layered Software Architectures
Juliana Saraiva, Sérgio Soares, Fernando Castor Filho
ECSA2
2010 A critical appraisal of systematic reviews in software engineering from the perspective of the research questions asked in the reviews
abstract
After a seminal article introducing-evidence based software engineering in 2004, systematic reviews (SR) have been increasingly used as a method for conducting secondary studies in software engineering. Our goal is to critically appraise the use of SR in software engineering with respect to the research questions asked and the ways the questions were used in the reviews. We analyzed 53 literature reviews that had been collected in two published tertiary studies. We found that over 65% of the research questions asked in the reviews were exploratory and only 15% investigated causality questions. We concluded that there is a need for a consistent use of terminology to classify secondary studies and that reports of literature reviews should follow reporting guidelines to support assessment and comparison.
Fabio Q. B. da Silva, André L. M. Santos, Sérgio Soares, A. César C. França, Cleviton V. F. Monteiro
ESEM3
2010 A covariance matrix adaptation based evolutionary methodology for phase adjustment in financial time series forecasting
abstract
In this paper we present a methodology, called covariance matrix adaptation based evolutionary (CMAbE), to solve the financial time series forecasting problem. The proposed methodology consists of a hybrid model composed of multilayer perceptrons (MLPs) combined with the Covariance Matrix Adaptation Evolution Strategy (CMAES), which determines the most fitted time lags to characterize the time series phenomenon, as well as searches for the best architecture, parameters and training algorithm of MLP networks. An experimental analysis is conducted with the proposed methodology through two real world financial time series, and the obtained results are discussed and compared to results found with recently methods presented in literature.
Ricardo de A. Araújo, Adriano Lorena Inácio de Oliveira, Sérgio Soares
GECCO3
2010 An exploratory study of fault-proneness in evolving aspect-oriented programs
abstract
This paper presents the results of an exploratory study on the fault-proneness of aspect-oriented programs. We analysed the faults collected from three evolving aspect-oriented systems, all from different application domains. The analysis develops from two different angles. Firstly, we measured the impact of the obliviousness property on the fault-proneness of the evaluated systems. The results show that 40% of reported faults were due to the lack of awareness among base code and aspects. The second analysis regarded the fault-proneness of the main aspect-oriented programming (AOP) mechanisms, namely pointcuts, advices and intertype declarations. The results indicate that these mechanisms present similar fault-proneness when we consider both the overall system and concern-specific implementations. Our findings are reinforced by means of statistical tests. In general, this result contradicts the common intuition stating that the use of pointcut languages is the main source of faults in AOP.
Fabiano Cutigi Ferrari, Rachel Burrows, Otávio Augusto Lazzarini Lemos, Alessandro F. Garcia 0001, Eduardo Figueiredo 0001, Nélio Cacho, Frederico Lopes, Nathalia Temudo, Liana Silva, Sérgio Soares, Awais Rashid, Paulo César Masiero, Thaís Vasconcelos Batista, José Carlos Maldonado
ICSE (1)10
2010 Hybrid Intelligent Design of Morphological-Rank-Linear Perceptrons for Software Development Cost Estimation
abstract
This paper presents a hybrid intelligent method to design Morphological-Rank-Linear (MRL) perceptrons to solve the Software Development Cost Estimation (SDCE) problem. The proposed method uses a modified genetic algorithm (MGA) to determine the best particular features to improve the MRL perceptron performance, as well as its initial parameters. Furthermore, for each individual of MGA, a gradient steepest descent method is used to optimize the MRL perceptron parameters supplied by MGA. An experimental analysis is conducted with the proposed method using the Desharnais and Cocomo databases. In the experiments, two relevant performance metrics and a fitness function are used to assess the performance of the proposed method. The results obtained are compared to methods recently presented in literature.
Ricardo de A. Araújo, Adriano Lorena Inácio de Oliveira, Sérgio Soares
ICTAI (1)3
2010 A quantum-inspired hybrid methodology for financial time series prediction
abstract
In this work a quantum-inspired hybrid methodology is proposed to overcome the random walk dilemma for financial time series prediction. It consists of a hybrid model composed of a Qubit Multilayer Perceptron (QuMLP) with a Quantum-Inspired Evolutionary Algorithm (QIEA), which searches for the best particular time lags able to characterize the time series phenomenon, as well as to evolve the complete QuMLP architecture and parameters. Each individual of the QIEA population is adjusted by the Complex Back-Propagation (CBP) algorithm to further improve the QuMLP parameters supplied by the QIEA. After the prediction model search procedure, it uses a behavioral statistical test and a phase fix procedure to adjust time phase distortions that appear in financial time series. An experimental analysis is conducted with the proposed methodology through four real world financial time series, and the obtained results are discussed and compared to results found with Multilayer Perceptiron (MPL) networks and the previously introduced Morphological-Rank-Linear Time-lag Added Evolutionary Forecasting (MRLTAEF) method.
Ricardo de A. Araújo, Adriano Lorena Inácio de Oliveira, Sérgio Soares
IJCNN3
2010 Overcoming the random walk dilemma using a Covariance Matrix Adaptation Evolutionary method
abstract
This paper proposes the Covariance Matrix Adaptation based Evolutionary (CMAbE) methodology to overcome the random walk dilemma, characterized by one step delay regarding the real time series values, adjusting time phase distortions in the financial time series forecasting problem. The proposed CMAbE methodology consists of a hybrid model composed of the MultiLayer Perceptron (MLP) networks and the Covariance Matrix Adaptation Evolution Strategy (CMAES), which searches for the best particular time lags to optimally describe the time series phenomenon, as well for the best architecture, parameters and training algorithm of MLP networks. An experimental analysis is conducted with the proposed methodology through four real world financial time series, and the obtained results are discussed and compared to results found with recently methods presented in literature.
Ricardo de A. Araújo, Adriano Lorena Inácio de Oliveira, Sérgio Soares
SMC3
2009 A Morphological-Rank-Linear Approach for Software Development Cost Estimation
abstract
This work presents a Morphological-Rank-Linear approach to solve the problem of Software Development Cost Estimation (SDCE). It consists of a hybrid morphological model, which is a linear combination between a Morphological-Rank (MR) operator (nonlinear) and a Finite Impulse Response (FIR) operator (linear), referred to as Morphological-Rank-Linear (MRL) filter. A gradient steepest descent method to adjust the MRL filter parameters (learning process), using the Least Mean Squares (LMS) algorithm, and a systematic approach to overcome the problem of nondifferentiability of the morphological-rank operator are used to improve the numerical robustness of training algorithm. Furthermore, an experimental analysis is conducted with the proposed approach using the well-known NASA database. In the experiments, two relevant performance metrics and an evaluation function are used to assess the performance of the proposed approach. The results obtained are compared to models recently presented in literature.
Ricardo de A. Araújo, Adriano Lorena Inácio de Oliveira, Sérgio Soares
ICTAI3
2008 Evolving software product lines with aspects: an empirical study on design stability
abstract
Software product lines (SPLs) enable modular, large-scale reuse through a software architecture addressing multiple core and varying features. To reap the benefits of SPLs, their designs need to be stable. Design stability encompasses the sustenance of the product line’s modularity properties in the presence of changes to both the core and varying features. It is usually assumed that aspect-oriented programming promotes better modularity and changeability of product lines. However, there is no empirical evidence on its efficacy to prolong design stability of product lines in realistic development scenarios. This paper reports a quantitative study that evolves two SPLs to assess various facets of design stability of aspect-oriented implementations. Our investigation focused upon a multi-perspective analysis of the evolving product lines in terms of modularity, change propagation, and feature interaction.
Eduardo Figueiredo 0001, Nélio Cacho, Cláudio Sant'Anna, Mario Monteiro, Uirá Kulesza, Alessandro F. Garcia 0001, Sérgio Soares, Fabiano Cutigi Ferrari, Safoora Shakil Khan, Fernando Castor Filho, Francisco Dantas
ICSE7
2008 A JML Compiler Based on AspectJ
abstract
The Java Modeling Language (JML) is a behavioral interface specification language (BISL) designed for Java. It was developed with the aim of improving the functional software correctness of Java applications. The JML compiler(jmlc) generates bytecodes that use the Java reflection mechanism and data structures not supported by Java ME applications. In order to overcome this limitation, we proposethe use of AspectJ to implement a new JML compiler, which generates an instrumented byte code compliant with both Java SE and Java ME applications. The paper also includes a comparative study to demonstrate the quality of the final code generated by our compiler. Results indicate that the overhead in code size produced by our compiler is very small, which is essential for Java ME applications.
Henrique Rebêlo, Ricardo Massa Ferreira Lima, Márcio Cornélio, Sérgio Soares
ICST4
2008 FLiP: Managing Software Product Line Extraction and Reaction with Aspects
abstract
Summary form only given. The extractive and the reactive software product line (SPL) adoption strategies involve, respectively, bootstrapping existing products into a SPL and extending an existing SPL to encompass another product. In both cases, product line refactorings are useful to guide the SPL derivation process by extracting product variations and appropriately structuring them. They also help to assure the safety of the whole process by preserving SPL configurability. In this context, we describe FLiP, which is a suite of tools implemented as Eclipse plugins and has been designed and tested in the context of mobile game SPLs.
Vander Alves, Fernando Calheiros, Vilmar Nepomuceno, Andrea Menezes, Sérgio Soares, Paulo Borba
SPLC5
2008 Applying XP to an Agile-Inexperienced Software Development Team
Liana Silva, Célio A. Santana, Fernando Rocha, Maíra Paschoalino, Gabriel Falconieri, Lúcio Ribeiro, Renata Medeiros de Carvalho, Sérgio Soares, Cristine Martins Gomes de Gusmão
XP8
2007 Concurrency Control Modularization with Aspect-Oriented Programming
abstract
Concurrent programs are essential in the development of web based information systems. The wide dissemination of these systems increased the need for methods to create correct and efficient concurrent programs, which are usually difficult to implement and test. This paper presents guidelines to improve the concurrent control structure of object-oriented software using aspect-oriented programming through AspectJ based on an existent object-oriented concurrency control implementation method. We have defined a simple aspect framework that can be extended to implement concurrency control in applications complying with a software architecture presented in this paper. The framework comprises a set of reusable aspects useful for modularizing concurrency control.
Sérgio Soares, Paulo Borba, Ricardo Massa Ferreira Lima
COMPSAC (1)1
2007 On the Impact of Aspectual Decompositions on Design Stability: An Empirical Study
Phil Greenwood, Thiago T. Bartolomei, Eduardo Figueiredo 0001, Marcos Dósea, Alessandro F. Garcia 0001, Nélio Cacho, Cláudio Sant'Anna, Sérgio Soares, Paulo Borba, Uirá Kulesza, Awais Rashid
ECOOP8
2006 Distribution and persistence as aspects
abstract
Abstract This paper reports our experience using AspectJ, a general‐purpose aspect‐oriented extension to Java, to implement distribution and persistence concerns in a Web‐based information system. This system was originally implemented in Java and restructured with AspectJ. Our main contribution is to show that AspectJ is useful for implementing several persistence and distribution concerns in the considered application, but also in similar applications. We have also identified interferences between the implemented aspects and a few drawbacks in the language, so we suggest some minor language modifications that could significantly improve similar implementations. Despite those problems, we argue that the AspectJ implementation is superior to the pure Java implementation. Some of the aspects implemented in our experiment are abstract and constitute a simple aspect framework. The other aspects are application specific but we suggest that different implementations might follow the same aspect patterns. The framework and the patterns allow us to propose architecture‐specific guidelines that provide practical advice for both restructuring and implementing certain kinds of persistent and distributed applications with AspectJ. Copyright © 2006 John Wiley & Sons, Ltd.
Sérgio Soares, Paulo Borba, Eduardo Laureano
Softw. Pract. Exp.1
2002 Concurrency Control with Java and Relational Databases
abstract
As Web-based information systems usually run in concurrent environment, the complexity for implementing and testing those systems is significantly high. Therefore it is useful to have guidelines to introduce concurrency control, avoiding ad hoc control strategies, which may have a negative impact in efficiency and may not guarantee system safety. This paper defines guidelines for concurrency control in Web-based information systems implemented in Java with relational databases. In particular we show where Java and relational database concurrency control mechanisms should be used in order to implement our concurrency control strategy. Additionally, we analyze the performance of different concurrency controls approaches. The main point of the guidelines is to guarantee system correctness without redundant concurrency control, both increasing performance and guaranteeing safely.
Sérgio Soares, Paulo Borba
COMPSAC1
2002 Implementing distribution and persistence aspects with aspectJ
abstract
This paper reports our experience using AspectJ, a generalpurpose aspect-oriented extension to Java, to implement distribution and persistence aspects in a web-based information system. This system was originally implemented in Java and restructured with AspectJ. Our main contribution is to show that AspectJ is useful for implementing several persistence and distribution concerns in the application considered, and other similar applications. We have also identified a few drawbacks in the language and suggest some minor modifications that could significantly improve similar implementations. Despite the drawbacks, we argue that the AspectJ implementation is superior to the pure Java implementation. Some of the aspects implemented in our experiment are abstract and constitute a simple aspect framework. The other aspects are application specific but we suggest that different implementations might follow the same aspect pattern. The framework and the pattern allow us to propose architecture-specific guidelines that provide practical advice for both restructuring and implementing certain kinds of persistent and distributed applications with AspectJ.
Sérgio Soares, Eduardo Laureano, Paulo Borba
OOPSLA1