Paulo Sergio Lopes de Souza

dblp:96/5652 · also Paulo S. L. Souza, Paulo Souza 0001 · DBLP profile ↗
← Back
39ranked-venue papers
1as first author
17since 2021 · last 2026
0000-0002-1560-2704ORCID · verified

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

Software engineering, systems software and programming languages · 15 · 5 since 2021Artificial intelligence and machine learning · 10 · 2 since 2021Human-computer interaction and ubiquitous computing · 8 · 4 since 2021Systems, architecture and hardware · 7 · 1 first-author · 3 since 2021Databases, data management, data science and information retrieval · 4 · 2 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 4 since 2021Computer networks · 2 · 1 since 2021
YearPublicationVenuePosition
2026 An Empirical Study of Compression Strategies for Tricorder: From General-Purpose Compressors to Shannon Entropy
Caio Guimarães Herrera, Hugo H. Nakamura, Isaac S. Soares, Simone do Rócio Senger de Souza, Paulo Sergio Lopes de Souza
ICCSA (3)5
2026 Detecting Real Software Faults Through Resource Consumption Anomalies: An Evaluation of the Tricorder Methodology
Caio Guimarães Herrera, Simone do Rócio Senger de Souza, Ricardo Santos 0002, Paulo Sergio Lopes de Souza
ICCSA (3)4
2026 TriAD: a Tricorder-based tool for detecting anomalies in software
Caio Guimarães Herrera, Simone do Rócio Senger de Souza, Ricardo Santos 0002, Paulo Sergio Lopes de Souza
ICST4
2025 Parallel Implementation for Anomaly Detection in Methodologies Based on Consumption Profiles
abstract
The Tricorder methodology uses computational resource monitoring to detect anomalies in low-testability software but faces limitations due to the high data collection time, hindering its practical adoption. This paper proposes a parallel approach to the monitoring phase using an MIMD architecture with distributed memory, implemented with MPI and Python. The algorithm was designed using task partitioning, allowing independent execution across multiple nodes. Experiments showed a significant reduction in monitoring time while maintaining consistency in the collected data. The proposed approach contributes to making the Tricorder methodology more efficient and feasible for large-scale testing scenarios.
Maria Luiza Fernandes, Paulo Sergio Lopes de Souza
CLEI2
2025 An Architecture for a Reliability Tool Applied to Distributed Systems
Caio Guimarães Herrera, Vitor Silva Montes, Simone do Rócio Senger de Souza, Ricardo Santos 0002, Paulo Sergio Lopes de Souza
ICCSA (2)5
2025 Impact of Distances in an Anomaly Detection Context for Time Series in Software Testing
Kevin Gerardo Polo Ruiz, Alexandre C. B. Delbem, Paulo Sergio Lopes de Souza
ICCSA (2)3
2024 Performance analysis of a Vehicular Ad Hoc network Using LoRa technology and IoT devices in Amazon Rivers
Lucélia Cunha da Rocha Santos, Sarita Mazzini Bruschi, Paulo Sergio Lopes de Souza, Jo Ueyama, Alyson de Jesus dos Santos, Jezreel Souto Barbosa
Ad Hoc Networks3
2024 Structural testing for CUDA programming model
abstract
Summary Graphic processors offer an accessible solution for high‐performance computing, addressing challenges across various fields. The Compute Unified Device Architecture (CUDA) programming model has emerged to enhance the performance of general‐purpose applications on graphic processors. However, developing CUDA programs is far from straightforward, and developers' lack of experience in parallel programming has led to numerous issues. This article presents a structural testing model and criteria to improve the quality of CUDA programs. These criteria facilitate the selection of test cases and aid in identifying faults. The ValiCUDA tool was developed to implement and validate this testing model and criteria. This tool instruments and analyzes programs, generating the necessary elements for each testing criterion. It also facilitates program execution and evaluation of criterion coverage. A statistical validation experiment assessed these criteria' effectiveness, cost, and strength metrics. The results demonstrate that the criteria can identify nontrivial faults in CUDA programs and assist testers in their testing endeavors for such applications.
Helder J. F. Luz, Paulo Sergio Lopes de Souza, Simone do Rócio Senger de Souza
Concurr. Comput. Pract. Exp.2
2023 Health Tycoon: An Educational Simulation Game on Positive Habits
abstract
This study explores how a game can be an effective active learning methodology for promoting health education and healthy eating habits among young students. The primary objective of the research was to develop an educational game that emphasizes the importance of healthy behaviors. To achieve this, the team created a game design document that described the game's main features, including themes, game mechanics, characters, scenarios, challenges, and feedback. The team used the Unity platform, a game development tool, to develop the game to create a unique game that engages young students in healthy activities. The game's educational content is reinforced through mathematical simulations that give players feedback about healthy choices, such as healthy eating and regular exercise. The feedback system aims to highlight the significance of healthy habits for overall health, even when the results of these habits may not be immediately visible. The team collaborated with health and nutrition experts to ensure the game's educational content was accurate and up-to-date. Experts validated the game to ensure its quality and effectiveness, while teachers tested its usability to identify any issues that could affect its use in the classroom. As a result of the research, the team developed an educational simulation tool primarily aimed at slightly older students. The game demonstrates the impact of good habits, breaking the problem of delayed gratification that affects young people. The game development methodology presented in this study can be a helpful model for educators and developers working in educational technology. The game's potential as an educational tool and its success in fostering healthy behaviors must encourage further research and development. In conclusion, an educational game emphasizing the importance of healthy behaviors can promote health education among young students. As presented in this study, the educational game Health Tycoon shows evidence that teachers can use it to promote healthy behaviors among students effectively. By developing engaging ed-ucational games, teachers and developers can encourage students to learn about healthy behaviors in a fun and interactive way.
Matheus Henrique Dias Cirilo, Gustavo M. Sarenci de Carvalho Ferreira, Michel Hecker Faria, Alexandre Ponce de Oliveira, Carla Roberta de Oliveira Carvalho, Paulo Sergio Lopes de Souza
FIE6
2023 Food Battle: Game-Based Learning to Teach Healthy Eating Habits
abstract
Game-based learning has gained popularity in recent years, as it is an effective method to engage students and improve their learning experience. The present study aimed to investigate the use of game-based learning in teaching eating habits and health to elementary school students, focusing on nutrition and obesity. The study was part of a larger project to update elementary and high school teachers in Brazil on metabolism and obesity, linked to the World Health Organization (WHO) campaign entitled Beat Diabetes. Our research can be split into three methodological stages. In the first stage, we established the requirements for the topics covered in the game through meetings with experts in metabolism and obesity. The digital game was developed in the second stage using the Unity Engine and the C# language. The game was titled Food Battle and was inspired by another popular game called Plants vs. Zombies. In this game, the players had to choose healthy and unhealthy food options while fighting off junk food monsters. The third and final stage of the study was responsible for the verification, validation, and testing (VV&T) of the game. Programmers, computers, and medical teachers initially tested the Food Battle game. Then, the game was validated by its end-users, which included elementary and high school teachers and undergraduate students in biomedical sciences. The study's results showed a positive acceptance of the game as a teaching tool. The Food Battle game was playful, engaging, and effective in reaching various age groups of students. The use of games in education can offer various benefits to students, including increased motivation, engagement, and interest in the topic being taught. Additionally, games can assist teachers in the classroom by providing them with a tool that facilitates teaching complex issues such as obesity and healthy eating. The present study highlights the importance and benefits of games in education and how they can effectively improve the student learning experience. Food Battle has shown to be an engaging and effective tool for teaching students about healthy eating habits and the risks of obesity. Further research is needed to explore the potential of games in education and develop new tools to enhance student's learning experiences in different areas.
Michel Hecker Faria, Gustavo M. Sarenci de Carvalho Ferreira, Matheus Henrique Dias Cirilo, Alexandre Ponce de Oliveira, Carla Roberta de Oliveira Carvalho, Paulo Sergio Lopes de Souza
FIE6
2023 Enzigame: An Educational Game About Enzymes and Metabolism
abstract
This paper presents a novel game to teach metabolism and enzymatic activity concepts, exploring game-based and active learning. This study is part of a larger project that aims to update primary and secondary school teachers with scientific knowledge, allowing them to include novel teaching strategies and general discussions about eating habits and health with their students. The game impact was measured by qualitative assessment of 75 teachers who used the game, and overall, the feedback was very positive. Enzigame has been developed to explore essential concepts of metabolism and enzymatic activity. A heterogeneous group of people from computing and biomedical science participated in creating the game's software, and another group worked on reviewing the pedagogic issues in the game to make it able to be used in the classroom. The computing subgroup created a game design document describing the game's features, mechanics, elements, and scenarios. The game's development was cyclic, constantly reviewing the requirements for pedagogic, content, and computing technical aspects. Our results show the strong game's evolution, which was possible through the constant feedback from teachers from middle school, high school, and university education. Now, we have Enzigame's stable final version, with several mechanics that approach the contents in a playful and didactic way. Enzigame teaches about metabolism and enzymes, and, at the same time, it tests the motor and reasoning player's capacity through its gameplay, where the player controls an enzyme and needs to lead that one to its substrates, regulating the body's metabolism. The gameplay is accompanied by the “Teacher” character, who appears occasionally and explains things to the player, like an enzyme and how it works. The game has different levels, representing distinct places of the body. Such levels allow us to explore the various kinds of enzymes and the different phases of our metabolism. Through game development and its presentation to teachers, we can conclude that using games for didactic purposes brings great benefits. The game simulates enzymatic activity in the body and explanatory texts and significantly promotes knowledge through play activity.
Gustavo M. Sarenci de Carvalho Ferreira, Michel Hecker Faria, Matheus Henrique Dias Cirilo, Alexandre Ponce de Oliveira, Carla Roberta de Oliveira Carvalho, Paulo Sergio Lopes de Souza
FIE6
2023 Metabuleiro: a Digital Board Game About the Human Body and a Healthy Diet
abstract
Traditional teaching methods often need help engaging students and effectively fostering active participation and knowledge retention. There is a growing need for innovative educational tools to address this challenge that can enhance student engagement and learning outcomes. Educational games have gained significant attention as an effective method to improve motivation, engagement, and learning outcomes in educational settings. This paper introduces Metabuleiro, a digital multiplayer board game developed as a gamified learning tool. While initially focused on teaching metabolism, obesity, and a healthy diet, Metabuleiro's versatility allows its application in various subjects. The objective is to provide teachers with a unique and engaging resource that enhances student engagement and promotes effective learning. Experts collaboratively developed Metabuleiro from computer science and biomedical science. The game combines elements of board games and quizzes to offer a collaborative and competitive learning experience. Careful consideration was given to the game's features, mechanics, and components to ensure an effective learning environment while maintaining an enjoyable gameplay experience. Throughout the development process, feedback from teachers at different educational levels was collected and incorporated into the game's revisions. The final version of Metabuleiro received positive evaluations from teachers, demonstrating high satisfaction and intentions to integrate the educational game or similar tools into their classes. This positive feedback highlights Metabuleiro's potential as an effective educational tool for enhancing student engagement and learning outcomes. Furthermore, the game's adaptability allows it to be applied across various fields of study, making it a valuable resource for educators seeking to incorporate game-based learning and active educational methodologies in their classes. To further enhance our understanding of the game's educational benefits, future research can explore direct feed-back from students and evaluate the impact of Metabuleiro on academic performance. Such research would provide additional insights into the game's effectiveness and validate its use as an educational tool.
Alexandre Ponce de Oliveira, Matheus Henrique Dias Cirilo, Gustavo M. Sarenci de Carvalho Ferreira, Michel Hecker Faria, Carla Roberta de Oliveira Carvalho, Paulo Sergio Lopes de Souza
FIE6
2023 Bio-inspired optimization to support the test data generation of concurrent software
abstract
Summary Concurrent programming is increasingly present in modern applications. Although it provides higher performance and better use of available resources, the mechanisms of interaction between processes/threads result in a greater challenge for software testing activity. The nondeterminism present in those applications is one of the main issues during the test activity since the same test input can produce different possible execution paths, which may or not contain defects. The test data automatic generation can alleviate this problem, ensuring higher speed and reliability in software testing activity. This paper explores the automatic test data generation for concurrent programs through Genetic Algorithm, a bioinspired optimization technique, and proposes a test data generation approach for concurrent programs, called BioConcST, and a new operator for the selection of test subjects, called FuzzyST, which uses fuzzy logic. The approaches were evaluated in an experimental study towards their validation. The results showed that BioConcST is more promising than the other approaches at all analyzed levels. FuzzyST, together with Elitism and Tournament operators, provided the best results; however, it proved more suitable for concurrent programs of higher complexity.
Ricardo Ferreira Vilela, João Choma Neto, Victor H. S. C. Pinto, Paulo Sergio Lopes de Souza, Simone do Rócio Senger de Souza
Concurr. Comput. Pract. Exp.4
2022 Integration testing for robotic systems
Maria A. S. Brito, Simone do Rócio Senger de Souza, Paulo Sergio Lopes de Souza
Softw. Qual. J.3
2021 The impact of using CouchDB on Hyperledger Fabric performance for heterogeneous medical data storage
abstract
The popularization of Bitcoin and other cryptocurrencies has motivated the interest in using blockchain infrastructure in contexts other than the original. This is due to blockchain allows for a distribution of data with decentralized management and in a secure environment. In this scenario, the goal of this work is to evaluate the impact of database usage when blockchain is employed to manipulate large volumes of heterogeneous data. The methodology used in our evaluation considers the Hyperledger Fabric to set up a network for sharing medical data, which is obtained from a real database. The performance of this network was collected through experimental studies, with the Hyperledger Caliper benchmark, by measuring the throughput and latency of the network with and without the CouchDB database. Our results show the impact of the overhead imposed by the database when it is used in a blockchain network. This work contributes to future developers of blockchain applications as it shows the impact of database usage on such applications.
Ana Caroline Fernandes Spengler, Paulo Sergio Lopes de Souza
CLEI2
2021 Structural testing for communication events into loops of message-passing parallel programs
abstract
Abstract There is a growing demand for correct parallel programs, mainly due to nowadays availability of parallel architectures. Structural testing allows identifying defects by analyzing the internal structures of a program. However, communication and synchronization in parallel programs bring new challenges to the testing activity, such as nondeterminism. Message‐passing parallel programs require structural testing criteria to support test models and tools capable of covering synchronization events with dynamic behaviors. Testing such primitives inside loops in message‐passing programs is still challenging with nontrivial solutions for criteria, models, and tools. This article proposes new structural testing criteria to guide the selection of test cases, improving the quality of message‐passing programs by revealing nondeterminism‐related defects present in loops. We present a new test model to support our criteria for structural testing of MPI‐applications and implement the proposed criteria in the tool ValiMPI. The analysis of nondeterminism‐related defects, paths inside loops, loop iterations, and nested loops allow us to establish a structured testing model. We validate the testing criteria through experimental studies using ValiMPI. Our results show that our criteria reveal unknown defects from communication and synchronization events in different loop iterations, increasing the quality of message‐passing parallel programs.
Sílvia M. D. Diaz, Paulo Sergio Lopes de Souza, Simone do Rócio Senger de Souza
Concurr. Comput. Pract. Exp.2
2021 Parallel Execution of Programs as a Support for Mutation Testing: A Replication Study
abstract
Mutation testing is well known as one of the most effective approaches to create test cases, which can detect software faults. However, its drawback is the low scalability — if no special attention is given to improve efficiency — that directly affects its application in practice. This paper shows a replication study focused on emphasizing evidence in which the use of distributed processing structures can improve mutation testing. For this purpose, an architecture that enables mutation testing concurrent execution was designed. Five load balancing algorithms responsible for controlling the distribution and execution of data while carrying out mutation testing were evaluated. Experiments were conducted in order to evaluate the scalability and performance of the architecture considering homogeneous and heterogeneous setups. A time reduction of 50% was observed when executing mutants in parallel in relation to the conventional sequential application of mutation testing. The performance gain was above 95% when there was a higher number of nodes in the distributed architecture.
Márcio Eduardo Delamaro, Stevão Andrade, Simone do Rócio Senger de Souza, Paulo Sergio Lopes de Souza
Int. J. Softw. Eng. Knowl. Eng.4
2020 Teaching Parallel Programming for Beginners in Computer Science
abstract
This research full paper describes our experience in teaching parallel programming for students without previous knowledge of basic concepts of computing, comparing their levels of learning. The use of parallel software grew considerably in recent years due to the increasing availability of multi and many-core devices. The evolution of hardware and software resources collaborated for a remarkable computational processing power offered by parallel programs. However, parallel programming is taught usually in more advanced years of the undergraduate computer courses, due to its supposed prerequisites as sequential programming, operating systems, computer architectures and others. Postponing parallel programming teaching hinder students to apply parallelism other subjects, reducing the probability of these future professionals think on parallel solutions naturally. We executed 05 experiments teaching parallel programming subjects for 252 students. We analyzed whether students without prerequisites could learn parallel programming in the same level verified with students with prior computing knowledge. We used three different teaching methodologies: traditional, Problem Based Learning (PBL), and Team-Based Learning (TBL). The teaching and learning evaluation took into account such metrics: parallelism thinking of students, use of programming-model, correct output of the program, source-code readability and satisfaction of the students. The paper shows that it is possible to teach parallel programming to students without previous knowledge of computing, obtaining high scores and interest in such learning. Our results contribute positively to disseminate parallel programming, which is vital to extract performance from nowadays computers.
Davi Jose Conte, Paulo Sergio Lopes de Souza, Guilherme Martins, Sarita Mazzini Bruschi
FIE2
2020 Research on Parallel Computing Teaching: state of the art and future directions
abstract
This research full paper identifies how the teaching of parallel computing has been developing over the years. The learning of parallel and distributed computing is fundamental for computing professionals, due to the popularization of parallel architectures. Teaching parallel computing involves theoretical concepts and the development of practical skills. Its content is dense and comprises different disciplines in computer courses. Although there is growing concerned about this type of teaching, the organization and depth of parallel computing teaching at universities change widely. The available literature on the teaching of parallel computing shows some experiences about how to teach parallel computing; however, it is not easy to determine the state of the art with challenges and gaps. Our objective is to identify essential aspects related to the teaching of parallel computing as methodologies, supporting resources, subjects taught, the satisfaction of students with learning and curricula. We carried out a systematic mapping to extract information from the literature, which is composed of three phases: planning, conduction, and reporting. We initially selected 819 papers from the Scopus, IEEE, ACM, and Google Scholar databases. After a previous analysis, we performed a full read of 94 papers. The use of different teaching methodologies appears in the publications, however, the traditional teaching methodology still is the most used. There is a small number of students in parallel computing courses, a concern of different authors. Educational software or hardware resources are reported, with software proposals corresponding to most of them. The teaching of parallel computing at the beginning of undergraduate courses appear in different papers. This paper contributes to research in teaching parallel computing, pointing out the state of the art of this area, highlighting challenges that should be the focus of investigations.
Thiago de Jesus Oliveira Durães, Paulo Sergio Lopes de Souza, Guilherme Martins, Davi Jose Conte, Naylor G. Bachiega, Sarita Mazzini Bruschi
FIE2
2020 Learning Parallel Programming Through Programming Challenges
abstract
This research full paper describes the use of challenges to teach parallel programming, regardless of teaching methodology (traditional, Problem-Based Learning and others) or programming-contest support systems. We verify how challenges contribute to the learning of parallel programming, considering technical and motivational aspects. Studies demonstrate the potential of using programming contests as educational resources at the end of courses, encouraging students to practice and learn more about parallel programming. However, there are no proposals exploring programming challenges as part of the learning process, since the beginning of the course. This paper presents four different experiments applying challenges to teach parallel programming for undergraduate and graduate students. We evaluated different teaching/learning methodologies, contexts, educational resources (including programming marathon systems), and groups of students. Considering all the experiments, almost 250 students participated and were evaluated. We developed and applied 58 challenges to analyze theoretical and practical knowledge about parallel programming. Different metrics were used to evaluate the students during the experiments: theoretical assessments, source-code quality, program output correctness, and student́s receptivity/motivation to learning from challenges. Results from experiments show scores of up to 96% of learning on technical aspects and up to 83% on student satisfaction. Challenges stimulated the development of high-quality parallel solutions and promoted a healthy environment among students, where the lightly-competitive context contributed to create a collaborative atmosphere. The use of programming marathon systems as an educational tool is not imperative. The use of challenges for the students' learning, not on their classification, showed that it is possible to teach parallel programming, maintaining students focused and motivated.
Guilherme Martins, Paulo Sergio Lopes de Souza, Davi Jose Conte, Sarita Mazzini Bruschi
FIE2
2019 A Preliminary Fault Taxonomy for Multi-tenant SaaS Systems
abstract
Multi-tenancy is the key feature for every Software as a Service (SaaS), as it enables multiple customers, so-called tenants, to transparently share a system's resources reducing costs. Tenants can customize a system according to their particular needs, however, such a high level of complexity may open possibilities for a failure. In addition, there is a lack of a reference architecture for such applications and once the implementations differ significantly, ensuring that all executions flows have been verified without impacting the working features for other tenants is a complex task. The clear understanding of the possible faults is fundamental for the identification, tolerance and definition of appropriate testing techniques. This paper presents a preliminary fault taxonomy for multi-tenant cloud applications considering their foundational features. A literature review previously carried out, a survey with practitioners and analysis of some applications were performed to achieve this classification. In addition, an e-commerce called MtShop was developed for a case study. The expressiveness of the proposed taxonomy is illustrated with critical faults identified in the MtShop through the automated and parallel testing. We conclude with the benefits that our taxonomy can bring to testing, prediction and regression testing activity of multi-tenant cloud applications.
Victor H. S. C. Pinto, Simone do Rócio Senger de Souza, Paulo Sergio Lopes de Souza
CCGRID3
2019 Empirical research on concurrent software testing: A systematic mapping study
Silvana M. Melo, Jeffrey C. Carver, Paulo Sergio Lopes de Souza, Simone do Rócio Senger de Souza
Inf. Softw. Technol.3
2018 Container-Based Performance Evaluation: A Survey and Challenges
abstract
Virtualization is an expanding technology in all areas of research and development. It has been widely accepted because of characteristics such as elasticity and flexibility in delivering on-demand resources. Nowadays, containers are a new form of virtualization and they have been highlighted as large technology companies are giving more support to them. Containers are a type of OS-level virtualization, in which the kernel allows the existence of multiple isolated instances. This paper presents a survey of recent research and challenges involving containers, focusing on performance evaluation. To achieve this goal, we performed a systematic mapping considering the main databases (Springer, IEEE, ACM, and Scopus), raising the challenges of the area and prospects of future work, considering the recent use of containers. We have observed that there is still little research related to performance evaluation of containers and we consider this topic very important since performance is fundamental to the design and adoption of projects.
Naylor G. Bachiega, Paulo Sergio Lopes de Souza, Sarita Mazzini Bruschi, Simone do Rócio Senger de Souza
IC2E2
2018 Contributions for the structural testing of multithreaded programs: coverage criteria, testing tool, and experimental evaluation
Silvana M. Melo, Simone do Rócio Senger de Souza, Felipe S. Sarmanho, Paulo Sergio Lopes de Souza
Softw. Qual. J.4
2017 Providing Computing Services through Mobile Devices in a Collaborative Way - A Fog Computing Case Study
abstract
The increasing number of mobile devices, such as smartphones, tablets and laptops, and also advances in their computing power enabled them to be considered as computing resources, having their proximity explored. The use of nearby resources for computing is growing year by year and it is called Fog Computing. The elements on the edge of the Internet are exploited once the computer service providers could be unavailable or overloaded. This work focuses on using mobile devices to provide computing services by using an heuristic called Adapted Maximum Regret, which tries to minimize energy and avoid unreliable devices. There is also a top-level meta-heuristic which has global information and interconnects different clusters of devices on the edge of the Internet to guarantee QoS. We conducted a set of experiments that demonstrated we should avoid devices with a high degree of failures to save more energy when allocating tasks as well as to decrease the applications response time and communication through adjustments in the selection algorithm of external agglomerates.
Danilo Costa Marim Segura, Rafael de Souza Stabile, Sarita Mazzini Bruschi, Paulo Sergio Lopes de Souza
MSWiM4
2017 A systematic review on search based mutation testing
abstract
Search Based Software Testing refers to the use of meta-heuristics for the optimization of a task in the context of software testing. Meta-heuristics can solve complex problems in which an optimum solution must be found among a large amount of possibilities. The use of meta-heuristics in testing activities is promising because of the high number of inputs that should be tested. Previous studies on search based software testing have focused on the application of meta-heuristics for the optimization of structural and functional criteria. Recently, some researchers have proposed the use of SBST for mutation testing and explored solutions for the cost of application of this testing criterion. The objective is to identify how SBST has been explored in the context of mutation testing, how fitness functions are defined and the challenges and research opportunities in the application of meta-heuristic search techniques. A systematic review involving 263 papers published between 1996 and 2014 examined the studies on the use of meta-heuristic search techniques for the optimization of mutation testing. The results show meta-heuristic search techniques have been applied for the optimization of test data generation, mutant generation and selection of effective mutation operators. Five meta-heuristic techniques, namely Genetic Algorithm, Ant Colony, Bacteriological Algorithm, Hill Climbing and Simulated Annealing have been used in search based mutation testing. The review addressed different fitness functions used to guide the search. Search based mutation testing is a field of interest, however, some issues remain unexplored. For instance, the use of meta-heuristics for the selection of effective mutation operators was identified in only one study. The results have pointed a range of possibilities for new studies to be developed, i.e., identification of equivalent mutants, experimental studies and application to different domains, such as concurrent programs.
Rodolfo A. Silva, Simone do Rócio Senger de Souza, Paulo Sergio Lopes de Souza
Inf. Softw. Technol.3
2016 A Systematic Mapping Study on the Multi-tenant Architecture of SaaS Systems
abstract
Background: SaaS (Software as a Service) is a services delivery model in Cloud Computing whose applications are remotely hosted by the service provider and available to customers on demand over the Internet.Multi-tenant Architecture (MTA) is an organizational pattern for SaaS that enables a single instance of an application to be hosted on the same hardware and accessed by multiple customers, so-called tenants, with the aim of lowering costs.Tenants are able to configure the system according to their particular needs.Objective: This research aims at the obtaining an overview of the challenges and research opportunities in MTA context for SaaS through a Systematic Mapping Study.Results: Eighty nine primary studies were selected for discussions on advances and opportunities for further investigations.The results showed the relevancy of MTA and pointed out the main research trends for next years in this topic.
Victor H. S. C. Pinto, Helder J. F. Luz, Ricardo R. Oliveira, Paulo Sergio Lopes de Souza, Simone do Rócio Senger de Souza
SEKE4
2015 Extracting static and dynamic structural information from java concurrent programs for coverage testing
abstract
This paper proposes novel techniques for the extraction of structural information from the source code of Java concurrent programs for their coverage testing. Such techniques differ from others because they consider synchronization flow among processes/threads, distinct paradigms of communication/synchronization, method calls and pointer manipulation. The structural information gathered from the source code is kept in a test model based on a Parallel Control Flow Graph (PCFG) and helps the generation of an instrumented source code, used for a future generation of trace files and to replay the concurrent execution. The results show the techniques can generate both an instrumented code and a PCFG for Java concurrent programs effectively, extracting static and runtime information required for structural testing.
Rafael R. Prado, Paulo Sergio Lopes de Souza, George Gabriel Mendes Dourado, Simone do Rócio Senger de Souza, Júlio Cezar Estrella, Sarita Mazzini Bruschi, João Lourenço
CLEI2
2015 Amnesia: A learning object for memory hierarchy teaching
abstract
The teaching and learning process of memory hierarchy is a not simple task. Many topics studied in theory may discourage learning due to its complexity. Resources have been developed to improve learning experiences, and learning objects are resources worth taking into account. This paper presents a learning object called Amnesia, which aims to facilitate the knowledge construction by simulating the structure, functionality and performance of the memory hierarchy in von Neumann architecture, specifically considering the cache memory module. Experimental studies demonstrated an increase in student learning when this object was used. In addition, the students' motivation to use learning objects also increased.
Fernando Tiosso, Sarita Mazzini Bruschi, Paulo Sergio Lopes de Souza, Ellen Francine Barbosa, Carlos Emilio de Andrade Cacho
FIE3
2015 Integration testing criteria for mobile robotic systems
abstract
Testing activity applied to mobile robotic systems is a challenge because new features, such as non-determinism of inputs, communication among components and time constraints must be considered.Simulation has been used to support the development and validation of these systems.Coverage testing criteria can contribute to this scenario adding mechanisms for measuring quality during the development of systems.This paper presents a test model and a set of coverage criteria to test the interaction among the components of mobile robotic systems.The model and criteria focus on robotic systems developed in ROS, a Robotic Operational System in which communication is established through publish/subscribe interaction schema.The testing criteria were evaluated using a robotic application.The results confirm that the use of coverage testing criteria has advantages for integration testing of mobile robotic systems.
Maria A. S. Brito, Marcos Santos, Paulo Sergio Lopes de Souza, Simone do Rócio Senger de Souza
SEKE3
2015 Empirical evaluation of a new composite approach to the coverage criteria and reachability testing of concurrent programs
abstract
Summary Testing is a key activity to assure the quality of concurrent applications. In recent years, a variety of different mechanisms have been proposed to test concurrent software. However, a persistent problem is the high testing cost because of the large number of different synchronization sequences that must be tested. When structural testing criteria are adopted, a large number of infeasible synchronization sequences is generated, increasing the testing cost. Although the use of reachability testing reduces the number of infeasible combination (because only feasible synchronization sequences are generated), many synchronization combinations are also generated, and this again results in a testing cost with exponential behavior. This paper presents a new composite approach that uses reachability testing to guide the selection of the synchronization sequences tests according to a specific structural testing criterion. This new composite approach is empirically evaluated in the context of message‐passing concurrent programs developed with MPI. The experimental study evaluates both the cost and effectiveness of proposed composite approach in comparison with traditional reachability testing and structural testing. The results confirm that the use of the new composite approach has advantages for testing of concurrent applications. Copyright © 2015 John Wiley & Sons, Ltd.
Simone do Rócio Senger de Souza, Paulo Sergio Lopes de Souza, Maria A. S. Brito, Adenilso da Silva Simão, Ed Zaluska
Softw. Test. Verification Reliab.2
2014 Structural testing for message-passing concurrent programs: an extended test model
abstract
SUMMARY Developing high‐quality, error‐free message‐passing concurrent programs is not trivial. Although a number of different primitives with associated semantics are available to assist such development, they often increase the complexity of the testing process. In this paper, we extend our previous test model for message‐passing programs and present new structural testing criteria, taking into account additional features used in this paradigm, such as collective communication, non‐blocking sends, distinct semantics for non‐blocking receives, and persistent operations. Our new model also recognizes that sender primitives cannot always be matched with every receive primitive. This improvement allows us to remove statically a significant number of infeasible synchronization edges that would otherwise have to be analyzed later by the tester. In this paper, the test model is presented using the Message‐Passing Interface standard; however, our new model has been designed to be flexible, and it can be configured to support a range of different message‐passing environments or languages. We have carried out case studies showing the applicability of the new test model to represent message‐passing programs and also to reveal errors, mainly those errors related to inter‐process communication. In addition to increasing the number of features supported by the test model, we have also reduced the overall cost of testing significantly. Our case studies suggest that the number of synchronization edges can be reduced by up to 93%, mainly by eliminating infeasible edges between unmatchable communication primitives. The main contribution of the paper is to present a more flexible test model that provides improved coverage for message‐passing programs and at the same time reduces the cost of testing significantly. Copyright © 2012 John Wiley & Sons, Ltd.
Paulo Sergio Lopes de Souza, Simone do Rócio Senger de Souza, Ed Zaluska
Concurr. Comput. Pract. Exp.1
2013 Enhanced Van der Waals calculations in genetic algorithms for protein structure prediction
abstract
SUMMARY Severalab initiocomputational methods for protein structure prediction have been designed using full‐atom models and force field potentials to describe interactions among atoms. Those methods involve the solution of a combinatorial problem with a huge search space. Genetic algorithms (GAs) have shown significant performance increases for such methods. However, even a small protein may require hundreds of thousands of energy function evaluations making GAs suitable only for the prediction of very small proteins. We propose an efficient technique to compute the van der Waals energy (the greatest contributor to protein stability) speeding up the whole GA. First, we developed a Cell‐List Reconstruction procedure that divides the tridimensional space into a cell grid for each new structure that the GA generates. The cells restrict the calculations of van der Waals potentials to ranges in which they are significant, reducing the complexity of such calculations from quadratic to linear. Moreover, the proposal also uses the structure of the cell grid to parallelize the computation of the van der Waals energy, achieving additional speedup. The results have shown a significant reduction in the run time required by a GA. For example, the run time for the prediction of a protein with 147,980 atoms can be reduced from 217 days to 7 h. Copyright © 2012 John Wiley & Sons, Ltd.
Daniel Rodrigo Ferraz Bonetti, Alexandre C. B. Delbem, Gonzalo Travieso, Paulo Sergio Lopes de Souza
Concurr. Comput. Pract. Exp.4
2012 Structural Testing for Multithreaded Programs: An Experimental Evaluation of the Cost, Strength and Effectiveness
Silvana M. Melo, Simone do Rócio Senger de Souza, Paulo Sergio Lopes de Souza
SEKE3
2011 Using Coverage and Reachability Testing to Improve Concurrent Program Testing Quality
Simone do Rócio Senger de Souza, Paulo Sergio Lopes de Souza, Mario C. C. Machado, Mário S. Camillo, Adenilso da Silva Simão, Ed Zaluska
SEKE2
2010 Optimizing van der Waals calculi using Cell-lists and MPI
abstract
Van der Waals's energy models attraction and repulsion effects between pairs of atoms. This energy is used by ab initio methods to find the tertiary structure of a protein based only on its amino acid sequence and on a force field model. Several researches suggests Genetic Algorithms (GAs), are adequate for the development of ab initio approaches for protein structure prediction. A GA generates thousands of potential structures for a protein conformation, and evaluates the van der Waals' interaction in each generated structure. In practice, 99% of running time of the GA is used with the computation of van der Waals' energy. To compute the van der Waals energy for a given structure, we need to calculate effects of the interactions of all pairs of atoms in the structure. Using this cutoff, the complexity of the algorithm is O(n2) per conformation, where n is the number of atoms of the protein. For atoms separated by more than 8 Å the van der Waals effect is relatively weak. Thus, we apply a Cell-lists method to the van der Waals function reducing the complexity of algorithm to O(n). Furthermore, we applied parallel programming to the Cell-lists method using MPI, reducing significatively the running time. The combination of the Cell-lists and MPI techniques resulted in a speedup of 1000 for a protein with 147,900 atoms.
Daniel Rodrigo Ferraz Bonetti, Alexandre C. B. Delbem, Gonzalo Travieso, Paulo Sergio Lopes de Souza
IEEE Congress on Evolutionary Computation4
2008 Structural testing criteria for message-passing parallel programs
abstract
Abstract Parallel programs present some features such as concurrency, communication and synchronization that make the test a challenging activity. Because of these characteristics, the direct application of traditional testing is not always possible and adequate testing criteria and tools are necessary. In this paper we investigate the challenges of validating message‐passing parallel programs and present a set of specific testing criteria. We introduce a family of structural testing criteria based on a test model. The model captures control and data flow of the message‐passing programs, by considering their sequential and parallel aspects. The criteria provide a coverage measure that can be used for evaluating the progress of the testing activity and also provide guidelines for the generation of test data. We also describe a tool, called ValiPar, which supports the application of the proposed testing criteria. Currently, ValiPar is configured for parallel virtual machine (PVM) and message‐passing interface (MPI). Results of the application of the proposed criteria to MPI programs are also presented and analyzed. Copyright © 2008 John Wiley & Sons, Ltd.
Simone do Rócio Senger de Souza, Silvia Regina Vergilio, Paulo Sergio Lopes de Souza, Adenilso da Silva Simão, Alexandre Ceolin Hausen
Concurr. Comput. Pract. Exp.3
2005 ValiPar: A Testing Tool for Message-Passing Parallel Programs
Simone do Rócio Senger de Souza, Silvia Regina Vergilio, Paulo Sergio Lopes de Souza, Adenilso da Silva Simão, Thiago Bliscosque Goncalves, Alexandre de Melo Lima, Alexandre Ceolin Hausen
SEKE3
2003 A Low-Cost Parallel K-Means VQ Algorithm Using Cluster Computing
abstract
In this paper we propose a parallel approach for the K-meansVector Quantization (VQ) algorithm used in a two-stageHidden Markov Model (HMM)-based system forrecognizing handwritten numeral strings. With thisparallel algorithm, based on the master/slave paradigm,we overcome two drawbacks of the sequential version: a)the time taken to create the codebook; and b) the amountof memory necessary to work with large trainingdatabases. Distributing the training samples over theslaves' local disks reduces the overhead associated withthe communication process. In addition, modelspredicting computation and communication time havebeen developed. These models are useful to predict theoptimal number of slaves taking into account the numberof training samples and codebook size.
Alceu S. Britto Jr., Paulo Sergio Lopes de Souza, Robert Sabourin, Simone do Rócio Senger de Souza, Díbio Leandro Borges
ICDAR2