Final Graduation Projects published in 2021

  • IC-PFG-21-54 pdf bib
    Value at Risk Calculation
    Hélio Pedrini and Luiz Koodi Hotta Marcelo Martins Vilela Filho.
    1). Technical Report IC-PFG-21-54, Institute of Computing, University of Campinas, December 2021.
    In Portuguese, 16 pages.

    Summary: The work in question presents a theoretical introduction of financial time series, as well as of stochastic processes, their applications in the calculation of the value at risk of financial time series and some methodologies for estimating volatility. Finally, we present a comparison of the value-at-risk calculation, using two different models to estimate volatility, which is an input to calculate the value-at-risk. The two models compared are the GARCH(1,1) and the exponential moving average model proposed by the RiskMetrics methodology, EWMA. For the selected asset (Brazilian share of Petrobras S/A, PETR4) we were able to observe a slight advantage of the GARCH(1,1), since it showed experimentally a lower overestimation of the value at risk and, therefore, of the volatilities.

  • IC-PFG-21-53 pdf bib
    Comparative study of change detection techniques in satellite images in forest environments.
    Gabriel Hioki and Hélio Pedrini.
    December 2021. In Portuguese, 11 pages.

    Summary: This work describes a comparative study between different architectures of change detection techniques in satellite images in forest environments. The study sought to explore the capacity of well-regarded models in the area of ​​image segmentation and change detection in dealing with a very recurrent environmental problem in Brazil, which is deforestation. The analyzed architectures were U-Net, U-Net++, DeepLabV3 and DeepLabv3+. These models were trained and tested with databases in forest deforestation data contexts, using images from the Sentinel-2 satellite. Each model in each context was analyzed and its results were compared, showing that some behave more efficiently given the context of the input data.

  • IC-PFG-21-52 pdf bib
    Categorization of Cloud Security Challenges related to Virtualization technology.
    Murilo Guidetti Andrietta and Paulo Lício de Geus.
    December 2021. In Portuguese, 24 pages.

    Summary: Over the last few years, organizations from various industries have adhered to the use of Computational Cloud, as the benefits of this architecture are increasingly evident. Virtualization technology serves as the foundation for the success of this environment in terms of flexibility and scalability. However, even with the increase that has been seen, security still figures as a limiting factor for many actors in their migration journeys to the Cloud. Many authors of scientific articles, white papers and technical reports have made efforts to contribute to the increase of security in a scope of threats related to Virtualization within the mentioned computing ecosystem, but the lack of standardization is clear during the presentations of the challenges considered in each of these works. This Report aims to propose a new way to categorize Cloud security challenges, specifically related to Virtualization, in a simple and systematic way.

  • IC-PFG-21-51 pdf bib
    Comparison and analysis of messaging platforms for data streaming.
    Adolf Pereira da Costa, Pedro Rodrigo Ramos Morelli, Renan Clarindo Amorim, and Luiz Fernando Bittencourt.
    December 2021. In Portuguese, 26 pages.

    Summary: This work aims to study and compare messaging technologies. The comparison consisted of two distinct steps, first, a theoretical explanation is presented regarding the functionalities (use cases) and differences of each of the target technologies, in addition to a balance identifying the favorable and unfavorable points of these applications. The second stage covers practical tests of the technologies, being done through the execution of benchmarks aimed at testing small-scale situations, and which intend to highlight the benefits of each tool, as well as identify in which small-scale situations each one performs better.

    To better represent small-scale situations, the tests were performed both on a single local machine, and on multiple machines separated by the internet, without being connected by any local network. In them, both the processed volume and the latency of messages were measured.

  • IC-PFG-21-50 pdf bib
    Transparent State Management for Self-Distributed Systems: First Case Study.
    Gabriel Henrique Rosa Oswaldo, Luiz Fernando Bittencourt, and Roberto Rodrigues Filho.
    December 2021. In Portuguese, 28 pages.

    Summary: Contemporary systems have increasingly demanded the use of technologies that support adaptation, due to the increase in their heterogeneity, and the volatility present in their operating environments. This adaptation becomes necessary even at runtime, as changes, increasingly difficult to anticipate, occur in the operational environment. Container technologies, container orchestrators, and cloud computing platforms are examples of technologies that are used extensively to provide the flexibility and adaptability demanded by modern systems. These tools are best used by stateless systems, which in turn manipulate the state before the system is deployed, such as extracting and storing it in a database. However, this manipulation still happens manually and fixedly, without benefiting from different alternatives. In contrast, although stateful systems are more difficult to adapt, they end up having better performance. In order to take the best of both worlds, this project presents a first case study on transparent state management, according to different consistency models, within the system distribution process. And through an empirical methodology, the challenges and impacts of the self-distribution of systems with state are explored, bringing future perspectives for the autonomous management of the state in self-distributed systems.

  • IC-PFG-21-49 pdf bib
    Algorithms for Load Balancing in NGNIX.
    Guilherme Luis Domingues, Lucas Koiti Geminiani Tamanaha, and Luiz Fernando Bittencourt.
    December 2021. In Portuguese, 17 pages.

    Summary: This work aims to introduce and evaluate the use of the NGINX solution, in its free version, as a load balancer. The focus, therefore, will be on bringing the concepts related to load distribution in HTTP requests in order to analyze the performance of the solution in each algorithm available in its configuration: Round Robin, Weighted Round Robin, IP Hash, Least Connection and Weighted Least Connection.

  • IC-PFG-21-48 pdf bib
    Feasibility analysis of the CloudAnalyst simulation tool for calculating performance and cost in large-scale networks.
    Arthur Biscaino Fruch and Luiz Fernando Bittencourt.
    December 2021. In Portuguese, 10 pages.

    Summary: In recent years the concept of cloud computing has gained a lot of strength and popularized very quickly, in this context several tools and frameworks were developed to simulate and deal with these types of solutions and assist in research and implementation by providing various metrics about the system.

    CloudAnalyst was developed as an alternative to large scale networks and with a flexible user interface allowing the separation of the simulation exercise from the code development and debugging exercise to run the same simulations. This work will focus on exploring some of the features provided by the simulator and carrying out a feasibility analysis pointing out advantages and disadvantages.

  • IC-PFG-21-46 pdf bib
    A homomorphic implementation of logistic regression inference.
    Naomi Takemoto, Antonio Guimarães, and Edson Borin.
    December 2021. Partly in English, partly in Portuguese, 23 pages.

    Summary: homomorphic encryption (Fully Homomorphic Encryption or FHE) makes it possible to perform logical and arithmetic operations on encrypted data that are reflected in the decrypted data. For example, be $a$ e $ b $ two numbers, and $\varepsilon()$ an encryption function then: $\varepsilon(a) \bigcirc \varepsilon(b) = \varepsilon(a + b)$, Where $\bigcirc$ would be the operation analogous to addition for the set of encrypted samples. This property would facilitate data management for cloud service providers as well as provide protection for customer data from leaks. In this work we explore the homomorphic implementation of inference for binary classifiers based on logistic regression. We employ the TFHE scheme [Chillotti et al., 2020]] and we used libraries that already provided some logical and arithmetic operations, developing other operations as needed. Two sets of data were used, the first referring to an American census [Kohavi and Becker, 1994] that served us during the development process and the second about the post-surgical breast cancer [Haberman, 1976] with which we reported our results. . We implemented two inference models, one that operated with encrypted data and weights and the other with plain text only. This helped us during the process of choosing parameters such as precision and number of bits reserved for the fractional part of the number so that the execution time was shorter, but the accuracy was preserved. With the encrypted model we measure the execution time of the inference. We identified that the most important factor for the performance of the model was the number of attributes of the input data, since it determines the number of homomorphic multiplications required per sample. This, depending on the precision, proved to be 20 to 40 times longer than addition.

    Abstract: Fully Homomorphic Encryption (FHE) makes it possible to perform logical and arithmetic operations on encrypted data that also happens in the underlying plaintext data. For example, let $a$ and $ b $ be two numbers, and $\varepsilon()$ an encryption function, then: $\varepsilon(a) \bigcirc \varepsilon(b) = \varepsilon(a + b)$, Onde $\bigcirc$ would be the analogous addition operation for the set of encrypted samples. This property could facilitate data management for cloud service providers while protecting customers' data against leakage. In this report, we explored the homomorphic encryption using the TFHE scheme [Chillotti et al., 2020] and applied it to the Logistic Regression inference using libraries that already provide a few logical and arithmetic operations, implementing others as needed. We used two sets of data, the first a 1994 US census [Kohavi and Becker, 1994] that we employed during the development process and the second a post-surgical breast cancer dataset [Haberman, 1976] for reporting our results. We developed two models, the ciphertext model that worked with encrypted inputs and encrypted weights while the other, the cleartext, worked with cleartext only. This one we employed to find the best combination of precision for each ciphertext and the number of bits reserved for fraction so the execution time would be reduced but the inference accuracy preserved. With the ciphertext model, we focused on measuring the execution time. We concluded that the number of features a sample from each dataset needs to have a great impact on the overall performance since it sets the number of multiplications required in the inference. Finally, we observed that the multiplication implementation we used can be from 20 to 40 times costlier than one addition operation depending on the chosen precision.

  • IC-PFG-21-45 pdf bib
    Analysis of the Android OS cryptography system.
    Bruno Benitez de Carvalho and Islene Calciolari Garcia.
    December 2021. In Portuguese, 21 pages.

    Summary: The confidentiality of data and operations carried out by a computer becomes increasingly relevant. At the same time, attacks on data security and user privacy become more intense. It is also a known fact that the miniaturization of computers, consolidated by smartphones, and recently by wearable devices, has become widely common, with Android being the operating system most used in these devices. Taking these bases, this work proposes to present some of the fundamental principles for the understanding of cryptography, in particular algorithms based on symmetric key, and to analyze the encryption solutions implemented by Google throughout the versions of its mobile and open operating system -source, Android.

  • IC-PFG-21-44 pdf bib
    Prediction of Protein Molecular Functions Using Machine Learning.
    Felipe Lopes de Mello, Gabriel Bianchin de Oliveira, and Zanoni Dias.
    December 2021. In Portuguese, 22 pages.

    Summary: Data from November 2021 show that there are more than 200 million proteins in which their molecular functions are still unknown. As the empirical determination of these functions is slow and costly, several research groups around the world have applied machine learning to perform the prediction of protein functions. In this work, we evaluate the use from classical methods to architectures based on Transformers. Our best architecture is the use of embeddings resulting from two Transformers (one pre-trained with ProtBERT and the other with ProtBERT-BFD) as input to an MLP. This model has obtained a $F_{max}$ of 0,562 in our database, and when we apply this model to the same database used by DeepGOPlus, which is one of the main methods to perform the prediction of protein functions, we reached the value of 0,617, surpassing the best result in the literature.

  • IC-PFG-21-43 pdf bib
    MDS Matrixes for Cryptography.
    Tomás S.R. Silva and Ricardo Dahab.
    December 2021. In English, 43 pages.

    Abstract: Maximum distance separable (MDS) matrices are a key component in several cryptoschemes. One of the most interesting features, from a cryptographic point of view, of MDS matrices is the fact that these provide perfect diffusion for linear layers.

    Thus, this work will not only explore the characteristic of perfect diffusion in MDS layers, but will also demonstrate that the use of MDS matrices is a necessary (but not a sufficient) condition in order to achieve resistance against infinitely long invariant subspace trails attacks in P-SPN linear layers. Moreover, it will also be presented some MDS matrices construction techniques.

  • IC-PFG-21-42 pdf bib
    Study of Queuing Policies for 360º Video Transmission in HTTP3.
    G. F. da Costa, C. Melo, D. M. Casas-Velasco, and N. L. S. da Fonseca.
    December 2022. In Portuguese, 20 pages.

    Summary: This work is a report of a project to study queuing policies used for 360 video transmission.

    Based on the study of the queuing policies: FIFO, Strict Priority and Weighted Fair Queuing developed in aioquic, it can be concluded that there is no clear difference in quality of service in the transmission of 360º video for the queuing policies: FIFO, SP and WFQ. Since these policies are so distinct in their approaches, it was expected that some difference would be found in the results. Therefore, it is suspected that some internal queuing configuration of Aioquic may have interfered in the results. For a better analysis of these policies, it is recommended to investigate the library and its impact in more depth, or to use another QUIC implementation.

  • IC-PFG-21-41 pdf bib
    HTTP/3 benchmark for 360o video streaming with adaptive bitrate.
    G. A. Tabchoury, C. Melo, D. M. Casas-Velasco, and N. L. S. da Fonseca.
    December 2021. In Portuguese, 18 pages.

    Summary: The purpose of this work is to analyze the behavior of exact algorithms and heuristics for a version of the Traveling Salesman Problem with Energy Minimization, investigating it in the Integer Linear Programming approach. For the heuristic approach, a combination of variations of the Nearest Neighbor and 2-Opt Local Search algorithms was developed, configured as a Multi-Start heuristic. Regarding the experiments, the Gurobi modeling and optimization library was used in a Jupyter Notebook environment.

  • IC-PFG-21-40 pdf bib
    Algorithms and Heuristics for the Traveling Salesman Problem with Energy Minimization.
    João Pedro Brandimarte Viccari and Flávio Keidi Miyazawa.
    December 2021. In Portuguese, 18 pages.

    Summary: The purpose of this work is to analyze the behavior of exact algorithms and heuristics for a version of the Traveling Salesman Problem with Energy Minimization, investigating it in the Integer Linear Programming approach. For the heuristic approach, a combination of variations of the Nearest Neighbor and 2-Opt Local Search algorithms was developed, configured as a Multi-Start heuristic. Regarding the experiments, the Gurobi modeling and optimization library was used in a Jupyter Notebook environment.

  • IC-PFG-21-38 pdf bib
    Orchestrating microservices: The use of the Gateway as a unifier of independent modules.
    Ricardo Ribeiro Cordeiro and Breno Bernard Nicolau from France.
    December 2021. In Portuguese, 19 pages.

    Summary: With the popularization of architecture based on microservices, numerous complementary tools were developed, tools that seek to improve market solutions that employ microservices. This project aims to study one of the main tools used in microservices, whose main function is to manage the various modules that a complex system can contain. Through the implementation of the architecture and its modules, combined with the execution of a happy case that uses the gateway solution, it was possible to analyze the effectiveness of the tool, as well as observe the possible difficulties to be faced in the process of implementing the microservices architecture. The project brings as a conclusion a vision about how the microservices architecture is promising, and that the gateway tool proves to be important for a clean and performance implementation of this pattern.

  • IC-PFG-21-37 pdf bib
    Analysis of software repositories in projects based on Serverless architecture.
    Davi Vinícius Cunha and Breno Bernard Nicolau from France.
    December 2021. In Portuguese, 22 pages.

    Summary: Serverless computing is currently a hot topic in the market, related to Cloud Computing, due to its potential to eliminate infrastructure concerns and solutions scalability by the development team. Academic literature on the subject is at an early stage with regard to good and bad usage practices common in Serverless applications, especially from a software maintenance and evolution perspective. Given this scenario, the objective of this work is, through mining open source software repositories, to develop a tool that analyzes and collects metrics related to practices commonly present in projects developed for Serverless execution, so that questions are raised and defined directions that serve as motivation and basis for further studies on the subject.

    For this, a strategy was developed capable of searching, evaluating the relevance and collecting metrics of maintainability and scale of the projects, and finally the results underwent an initial analysis that allowed the identification of issues, patterns and suspicions of possible anti-standards and common practices for studies in the area evolve, in addition to limitations and possibilities for the evolution of the support tool to be addressed for future development.

  • IC-PFG-21-35 pdf bib
    Evaluation on the OpenDesign Platform.
    Danilo Miranda Gusicuma, Lucas Roberto de Souza, and Julio Cesar Dos Reis.
    December 2021. In Portuguese, 27 pages.

    Summary: This work aims to design and implement in the OpenDesign platform means to make the heuristic evaluation process more social, in order to allow various evaluation participants to attribute, with their perceptions, severity to the reported problems. The proposal is to provide an environment for discussions and broad communication between those involved in the assessment. We implemented a module to document assessment procedures and results with users. This contribution to the platform makes it possible to detail and document information about assessments conducted. The functionality allows you to record multiple runs of a given assessment. This work allows us to provide new features to support the design and evaluation process of human-computer interfaces on the platform.

    Abstract: This work aims to design and implement the OpenDesign platform means to make the heuristic evaluation process more social, in order to allow various evaluation participants to attribute, with their perceptions, severity to the reported problems. The proposal is to provide an environment for discussions and broad communication between those involved in the assessment. We implemented a module for document assessment procedures and results with users. This contribution to the platform makes it possible to detail and document information about assessments conducted. The functionality allows you to record multiple runs of a given assessment. This work allows us to provide new features to support the design and evaluation process of human-computer interfaces on the platform.

    Summary The objective of this work is to design and implement on the OpenDesign platform media to socialize the heuristic evaluation process, with the aim of allowing different participants to attribute the evaluation, with their perceptions, to the seriousness of the reported problems. The purpose is to provide an environment for discussions and a broad communication between those involved in the evaluation. We implemented a module to document evaluation procedures and results with users. This contribution to the platform allows detailing and documenting information about the evaluations carried out. Its functionality allows recording multiple runs of a given evaluation. This work allows us to provide new features to support the design and evaluation process of human-computer interfaces on the platform.

  • IC-PFG-21-34 pdf bib
    Interactive visualization of the evolution of knowledge graphs.
    Eduardo Moreira Freitas de Souza and Julio C. dos Reis.
    December 2021. In Portuguese, 26 pages.

    Summary: This work studies a tool for interactive visualization of the evolution of knowledge graphs. We implemented the TKGEvolViewer software, a tool that allows the graphical exploration of Temporal Knowledge Graphs (TKGs) from metric values ​​encoded in the TKG structures. Our results allow users to conduct visual analysis of TKGs through a graphic modal that filters available information through predefined analyses. Our solution additionally enables an advanced and free exploration of the structure of knowledge graphs.

  • IC-PFG-21-33 pdf bib
    Analysis of Models Based on Deep Neural Networks for Black Skin Lesions.
    Luana Felipe de Barros and Sandra Eliza Fontes de Avila.
    December 2022. In Portuguese, 22 pages.

    Summary: Melanoma is the most serious type of skin cancer due to its high ability to cause metastasis. It is more common in black people, frequently affecting acral regions: palmoplantar, digital extremities, mucous and semi-mucosal. Deep neural networks have shown enormous potential to improve clinical care and skin cancer diagnosis. Using them could improve access to dermatology services in Brazil, which are very unequal. Currently, the studies performed use predominantly white databases and do not report diagnostic results in a variety of patient skin tones. Therefore, in this work we present an evaluation of supervised and self-supervised models in databases with skin lesions located in acral regions, which are prevalent in black people, in addition to presenting a database with skin lesions in acral regions. Also, we evaluated databases in relation to the Fitzpatrick Scale to verify performance on black skin. Currently, these models cannot be used in a general way, as they have good results only in lesions on white skin. The creation of specific models due to negligence in the creation of diverse databases is unacceptable. Deep neural networks have great potential to improve diagnosis, especially for populations with less access to dermatology, but the inclusion of skin lesions with less common characteristics is extremely necessary for these populations to have access to the benefits of an inclusive technology.

  • IC-PFG-21-32 pdf bib
    Efficientnet for automatic monitoring of food advertising.
    Sandra Eliza Fontes de Avila, and Paula Martins Horta.
    October 2024. In Portuguese, 19 pages.

    Summary:: In the current scenario, there is an increasing number of people suffering from obesity, diabetes and other chronic diseases. Health and nutrition experts admit that the combination of processed food consumption, together with advertising strategies, is one of the causes of this global epidemic. In response to this recognition, the World Health Organization (WHO) has pointed out the importance of monitoring and restricting this type of advertising. Research on monitoring television advertising reveals the prevalence of food advertisements without a favorable nutritional profile and the use of persuasive strategies. This final undergraduate project investigated machine learning techniques for the automatic monitoring of food advertisements on television channels in Brazil. More specifically, it analyzed the effectiveness of EfficientNet as a method for classifying food advertisements on Brazilian TV channels. In conclusion, the network analyzed together with the techniques studied (e.g., data augmentation, batches balanced, weight addition by class) are extremely promising for carrying out this automatic classification. We emphasize that this type of research is new in itself and has not yet been developed for the automatic monitoring of food advertising.

  • IC-PFG-21-30 pdf bib
    Extending a finite difference domain-specific language to a distributed runtime system.
    José Ribeiro and Hervé Yviquel.
    December 2021. In English, 19 pages.

    Summary: Scientific computing is driving the industry to solve increasingly difficult problems. However, this poses major challenges for scientists and developers, making it difficult to implement/maintain these issues and still deliver high performance results to end users. To deal with these issues, Devito has emerged in recent years. This framework intelligently combines compiler technology with a Python-based symbolic math engine to deliver optimized and transparent execution for end users. Although troubleshooting and maintenance issues are considerably alleviated with Devito, performance aspects are still a concern that invariably drives the system to use distributed executions. By using the MPI standard, Devito effectively provides a solution to this problem. However, MPI is historically difficult to maintain and presents several responsibilities to Devito developers. To get around MPI problems, OmpCluster presents itself as a great solution, providing the programmer with a simpler code syntax, which extends from the well-known OpenMP API, but is as reliable and scalable as MPI. Therefore, in this report the Devito framework was extended through its backend specialization so that it could use the good properties provided by the OmpCluster distributed task runtime. In addition, numerical results showed the scalable potential of the backend created. In conclusion, some necessary restrictions are presented so that the user can be aware of the existing limitations in the current implementation.

    Abstract: Scientific Computing is pushing the industry to increasingly solve harder problems. However, this is posing considerable challenges to scientists and developers, making it difficult to implement/maintain those problems and still deliver high-performance results to final users. To deal with those struggles, Devito has arisen in the past few years. This framework cleverly combines compiler technology with a Python-based symbolic mathematical engine to deliver transparent and optimized execution to end-users. Despite the issues related to solving and maintaining are considerably alleviated with Devito, the performance aspects are still a concern which invariably leads the system toward using distributed executions. By using the MPI standard, Devito effectively provides a solution to that problem. However, MPI is historically difficult to maintain and poses multiple responsibilities to Devito's developers. To overcome the MPI issues, OmpCluster presents itself as a great solution, providing to the programmer a simpler code syntax, which is extended from the very known OpenMP API, yet as reliable and scalable as MPI. So in this report, the Devito framework was extended through its backend specialization so that it could use the good properties provided by the OmpCluster runtime system. On top of that, numerical results have shown the scalable potential of the created backend. In conclusion, some necessary restrictions are presented so that the user can be aware of the existing limitations of the current implementation.

  • IC-PFG-21-29 pdf bib
    Improving Convolutions with Tensor Hardware Accelerators.
    Victor Ferreira Ferrari and Guido Costa Souza de Araujo.
    December 2021. In English, 35 pages.

    Abstract: Convolutional Neural Network (CNN) models are among the most popular choices for deep learning solutions to problems with huge data sets. Given that CNNs are very computationally expensive, optimizing convolutions is central to enable larger models and speed up inference time. Tensor operations, eg matrix multiplication, have increasingly relied on hardware accelerators, such as IBM POWER10's MMA engine.

    This work explores how to exploit MMA and the POWER10 architecture to improve convolution performance, and proposes a novel algorithm for the operation, named Convolution Slicing Optimization (CSO), which tiles the instance into multiple sub-problems, and schedules the resulting tiles so to minimize DRAM memory accesses. After the convolution is tiled, the micro-kernel is used to increase throughput with the MMA engine.

    To evaluate the proposed approach, a set of experiments was performed using a POWER10 CPU, and the results show that the CSO is capable of efficiently tile the convolution according to a set of parameters calculated at compile time. Speedups of up to $ 229 \% $ result when comparing the CSO convolution-based slicing technique to a widely used reduction to matrix multiplication.

  • IC-PFG-21-28 pdf bib
    LGPD impacts on Internet of Things applications.
    Alexandre Luciano Barbosa and Juliana Freitag Borin.
    December 2021. In Portuguese, 19 pages.

    Summary: In 2018, the General Data Regulation (GDPR) entered into force in the European Union; in 2021, inspired by the European regulation, it was Brazil's turn to have its data law fully effective with the General Law for the Protection of Personal Data (LGPD). Taking into account that there is a high demand from various economic sectors that use personal data to develop products and services, this work investigates, through document research and a literature review, the format of legislation that addresses the issue of processing personal data and how they directly and indirectly impact the development of technologies and the use of devices, especially in the context of the Internet of Things. Furthermore, the challenges associated with adapting procedures and architectures for solutions based on the Internet of Things in order to guarantee the security and privacy of users, as well as compliance with the LGPD, are addressed.

  • IC-PFG-21-26 pdf bib
    Encryption as Free Software.
    Jeferson Alves and Islene Calciolari Garcia.
    July 2021. In English, 22 pages.

    Summary: With the advancement of the internet and the services that originated from it, the need to protect the data that is inserted in the computer network grows. The nature of the data varies, from a web page requested by a user that connects to a platform. E-commerce to the sensitive details of his credit card, which he must enter if he wishes to complete the order. This routine is already a reality, and application developers must always ensure the protection of data entered through the use of encryption. Encryption itself is a set of principles and techniques used to encrypt the source dataset in order to protect it from potentially malicious third parties. Since the amount of data that travels over the network is enormous, so is the demand for software that provide encryption services. Among the most important are free software, such as OpenSSL, LibreSSL and GnuTLS, which offer greater transparency in relation to the cryptographic process as they are developed by open communities, with thousands of watchful eyes analyzing the source code. Since free software is always open for study and redistribution, according to its respective license, it provides greater equality in access to information, supporting application developers, from the developer full stack independent to large companies that may or may not contribute through donations.

    In this work we present the fundamentals of public key cryptography, especially RSA, as well as the advantages of cryptography as free software. Through the study of implementations of toolkits based on open source cryptographs, we seek to define the strengths and weaknesses of each one of them as well as encourage new contributions to the communities.

  • IC-PFG-21-24 pdf bib
    SiGPos Special Student Module - IC Graduate Management System.
    Marcelo Biagi Martins, Lucas Rodrigues Mendonça, Cecília Mary Fischer Rubira, Alexandre Melo Braga, and Paulo Sérgio do Nascimento.
    July 2021. In English, 22 pages.

    Summary: The SiGPos Special Student Module was developed to replace the system Castle in the management of special students, centralizing the academic activities of the IC Graduate Program in a single application. In addition to the problem of lack of unification between the parties, the system Castle it was unsafe and poorly optimized, forcing special students to re-enter all of their data every new semester. To solve the problem, a solution was developed within the SiGPos platform, using current technologies and implementing field validation and data persistence, thus eliminating the need to fill in redundant information at each registration and making the process simpler and more straightforward. Despite notable improvements implemented during this project, its main focus was the user. To be put into production, the system still needs an administrative interface, which will be implemented in future administrator-focused interactions. Thus, this work presents the first step in the modernization of the IC special student enrollment process and the results obtained in this first interaction, as well as the difficulties encountered and lessons learned.

  • IC-PFG-21-23 pdf bib
    Integration and experimentation with a transprecision FPU.
    Gabriel Souza Franco and Lucas Wanner.
    August 2021. In English, 34 pages.

    Summary: Mobile and high-performance computing have placed stronger but divergent requirements on hardware floating-point icon. At the same time, image processing and machine learning are becoming more and more common on user devices. Therefore, an architecture that can fit between energy-efficient and high-precision computing is desirable.

    We've integrated a new FPU architecture, FPnew, into an ARM processor coupled with an FPGA. Using this unit as a code accelerator, we've shown some workloads using various floating point formats. As a conclusion, we show some weaknesses of this unit but also an image processing load particularly suited to the use of 16-bit floating point not available natively on the ARM processor.

    Abstract: Mobile and high-performance computing have placed increasing and diverging constraints on floating-point hardware. At the same time, image processing and machine learning are becoming more and more common on user's devices. Therefore, an architecture that can adapt between energy efficient and high precision processing is desirable.

    We integrate the novel FPU architecture, the FPnew, in an ARM processor coupled with an FPGA. Using the unit in an accelerator configuration, we show some workloads using several floating-point formats. As a conclusion, we show some weaknesses of the unit but also some particularly suited image processing workload making use of the 16-bit format not available in the ARM core natively.

  • IC-PFG-21-20 pdf bib
    Application of BDD interface testing techniques in API tests.
    Fabiana Nicchio, Lucas Leal, and Eliane Martins.
    July 2021. In Portuguese, 16 pages.

    Summary: This work aims to compare a test technique using Behavior Driven Development (BDD) and Cucumber, with the way an Application Programming Interface (API) used in the payments market is tested to identify the advantages and disadvantages of each approach. For this comparison, a case study of this API was carried out. Tests generated by a tool to generate tests based on pairwise were implemented, in order to be able to compare the result of these tests with the tests generated manually from this same API by the company that implemented it. The results of the work show that both approaches have positive and negative points. Being the automated execution and the application of the BDD in the test case creation process responsible for the differences between the studied methods.

  • IC-PFG-21-18 pdf bib
    Decent Work Platform.
    Lucas Henrique Waki ​​and Breno from France.
    July 2021. In English, 13 pages.

    Summary: In recent years, a growing wave of work platforms has started to emerge in digital media. Applications that raised workers without an employment relationship became popular and, as a result, the precariousness of the work of drivers and deliverymen, for example, became an active discussion in society regarding these changes. In this context, the idea of ​​the Decent Work Platform arises, in order to offer as a public policy services already performed by self-employed workers, while guaranteeing minimum labor rights such as social security. This final graduation project presents the architectural design for the platform under development, applying Software Engineering techniques. The project used Domain-Driven Desgin principles and C4 models to design a scalable architecture based on microservices that will support the development of the platform.

  • IC-PFG-21-17 pdf bib
    Decent Work Platform User Interface Project.
    Kauan Mitsuharu Takeda and Breno Bernard Nicolau from France.
    July 2021. In Portuguese, 21 pages.

    Summary: Several applications for offering services have been emerging in recent years, such as food and product delivery, drivers and rides. The vast majority of services are performed by self-employed workers who lose their labor rights, under the justification that they are an entrepreneur, trying to mischaracterize the employment relationship. In this context, the idea of ​​the Decent Work Platform arises, a system whose objective is to connect self-employed workers from various service areas with clients seeking these services. With the difference of passing on the payment to the self-employed without fees, just collecting taxes that guarantee the worker's rights. Thus, the platform is intended as a public policy, intermediating non-profit services. The Decent Work Platform will function as a marketplace for the customer, where he can choose the service he is needing, request quotes from several freelancers via chat and close a deal with a provider of your choice. The self-employed person will be able to offer services in several areas and receive contact from customers in the region where he/she serves to perform their services. Based on the application proposal, this project presents the modeling of the domain-based system and the development of interfaces in prototypes that will follow the concept of disposable prototyping, presented in Userflow and Wireflow, consequently navigable mockups will be developed. The prototype evaluation was carried out on the AttrackDiff platform and showed good user acceptance.

  • IC-PFG-21-15 pdf bib
    Performance analysis of using Enclaves with Intel® SGX.
    Lucas Barretto Andrade and Edson Borin.
    July 2021. In English, 12 pages.

    Summary: This technical report presents a performance analysis of applications running safely on the Intel SGX platform, present in some of the manufacturer's processors, using the Open Enclave library. Experiments were carried out with applications from the Madagascar package to obtain data in order to build hypotheses and then benchmarks were used to validate the hypotheses and better characterize the differences in the performance of the applications executed with or without the platform. It was concluded that the operation whose performance was most affected when running on the security platform was the search for memory pages that were not in the processor's cache and that operations that do not access memory do not suffer any impact on its performance.

  • IC-PFG-21-14 pdf bib
    Automated e-commerce question and answer system based on multilingual sentence similarity.
    Luiz Eduardo Araujo Zucchi and Julio Cesar dos Reis.
    July 2021. In English, 14 pages.

    Summary: Chatbots are becoming increasingly essential tools for customer service across platforms. e-commerces modern. Answering questions quickly and correctly is in many cases the difference between making a sale or not. Getting a chatbot system to automatically respond properly in multiple languages ​​is a major research challenge. This work proposes to use a neural network model called deepsim to address and assess this problem for the Portuguese and Spanish languages. In our experiments, we evaluated the impact of annotated data on the effectiveness of the model trained to estimate the work needed to expand it to other languages.

  • IC-PFG-21-13 pdf bib
    Improving the Consumer Experience in Product Returns in E-commerce.
    Mateus Joaquim and Julio Cesar dos Reis.
    July 2021. In English, 20 pages.

    Summary: Motivated by social distance, the percentage of participation of e-commerce in retail has been growing more and more. At the same time, the online store return process keeps pace with this growing number. Through the analysis of previous studies, we affirm the positive effects, for both retailers and customers, of tolerant policies on product returns.

    This work investigated the design and development of a prototype of a mobile application that supports a product return process in e-commerce. Our proposal has the potential to serve as a reference for possible e-commerce. We conducted evaluations of the obtained design that suggest greater confidence on the part of the participants in the feedback process. Results indicated greater future purchase intent as a result of improved usage experience over product return.

  • IC-PFG-21-12 pdf bib
    Study on the use of surface electromyography for movement classification and control of robotic prostheses.
    Luísa Luzardo Starling.
    July 2021. In English, 25 pages.

    Summary: This work consists of a study regarding the feasibility of using surface electromyography signals to control movements in active upper limb prostheses. To this end, a prototype of a prosthetic arm was made based on the inMoov project, an open source initiative that aims to build the first humanoid robot in 3D printing. Initially, the electromyographic signals of 9 individuals - collected using Cometa electrodes - were obtained from a dataset in the Ninapro database.

    After processing, analysis and extraction of features in the time domain, a classifier based on Support Vector Machine (SVM) with RBF kernel was used to identify electromyographic signals belonging to a set of 3 movements - these being chosen from a set of isometric configurations and hand isotonics and basic wrist movements, which were later reproduced by the prosthesis. In a second experiment, real-time control of the opening and closing of the prosthetic hand was tested using signals collected by myoware sensors attached to the muscles of the forearm.

    Abstract: This work consists of a study regarding the feasibility of using surface electromyography signals to control movements in active upper limb prostheses. To this end, a prototype of a prosthetic arm was made based on the inMoov project, an open source initiative that aims to build the first humanoid robot in 3D printing. Initially, the electromyographic signals of 9 individuals - collected using Comet electrodes - were obtained from a dataset in the Ninapro database. After processing, analysis and extraction of features in the time domain, a classifier based on Support Vector Machine (SVM) with RBF kernel was used to identify electromyographic signals belonging to a set of 3 movements - these being chosen from a set of isometric configurations and hand isotonics and basic wrist movements, which were later identified by the prosthesis. In a second experiment, real-time control of the opening and closing of the prosthetic hand was tested using signals collected by myoware sensors attached to the muscles of the forearm.

    Summary This work consists of a study on the feasibility of using surface electromyography signals to control movements in active upper limb prostheses. For it, a prototype of a prosthetic arm was carried out based on the inMoov project, an open code initiative that aims to build the first humanoid robot in 3D printing. Initially, the electromyographic signals of 9 individuals, collected using Cometa electrodes, were obtained from a data set in the Ninapro data base. After the processing, analysis and extraction of features in the domain of the time, a classifier based on the Support Vector Machine (SVM) with RBF kernel was used to identify electromyographic signals belonging to a set of 3 movements, which were selected from a set of configurations isometrics and isotonics of the hand and basic movements of the wrist, which were reproduced by the prosthesis. In a second experiment, the real-time control of the opening and closing of the prosthetic hand using signals collected by myoware sensors connected to the muscles of the forearm was proposed.

  • IC-PFG-21-11 pdf bib
    An open-world first-order logic reasoner with justification.
    Eduardo Y. Sakabe, Ricardo R. Gudwin, and Esther L. Colombini.
    August 2021. In English, 32 pages.

    Abstract: This paper explores the key concepts and methods towards the development of an open-world first-order logic reasoner with step-by-step justification. It covers the fundamentals of classical logic to theorem proving algorithms and key methods for developing a reasoner. Lastly, it presents the reasoner's results through logic exercises.

  • IC-PFG-21-10 pdf bib
    An Analysis of On-Demand Video Delivery in Edge-Cloud Infrastructure.
    Daniel Pereira Ferragut and Luiz Fernando Bittencourt.
    July 2021. In English, 13 pages.

    Summary: It is predicted that 82% of all data traffic on the Internet is related to online video views such as on services from Netflix, Youtube e Twitch. To increase the quality of experience (QoE) of users watching these videos, it is possible to use techniques such as Adaptive Bitrate Streaming e DASH to always try to provide the video to the user and reduce interruptions and waiting time in the beginning of videos, at the expense of the quality of the video being made available. While this type of solution is done in centralized cloud architectures, it is also possible to use Computing on the Edge and bring less powerful servers closer to the users, decreasing the congestion and latency of the requests made. This work aims to analyze two possible solutions to improve QoE of users, one is based on the use of computing at the edge with cache servers close to the users and another without it, but with higher speeds in the links used.

    Several simulations were performed in the ns-3 in a hybrid edge-to-cloud infrastructure scenario where one group of users used edge caching and the other didn't, but at higher speeds. Cases were tested for 100 and 120 total users varying the link speed increase to be equal to the cache group and up to 2 times higher. The results show that the use of cache at the edge can achieve the QoE great of scenery easily. The group without cache needed an increase of at least 50% over the other group to have similar values. In addition, the no-cache group had more outliers and users with worse experiences, due to more video interruptions due to network congestion. This analysis shows that an investment in an edge infrastructure can bring instant benefits, as in the case analyzed, as well as preparation for next-generation applications.

  • IC-PFG-21-09 pdf bib
    Data transmission between streaming platforms.
    Mateus Shiguetochi Kimura and Luiz Fernando Bittencourt.
    July 2021. In English, 14 pages.

    Summary: This work aims to study the behavior of an application that exchanges messages between data streaming platforms. Hermes, from Greek mythology known as the messenger of the gods, and also the application's name, came about because of the demand for a quick migration between data architecture and the lack of open-source connectors between two platforms, Apache Kafka and AWS Kinesis. As it is a recent application, it only supports such platforms, with Kafka as the source and Kinesis as the data destination.

    To carry out the tests, each application was executed in isolation on servers in the AWS cloud, collecting and, later, analyzing the metadata of the entry times in each platform according to the chronology of the events. The results showed that the application can be an advantageous path for a quick migration due to the ease of configuration and the reliability of message delivery.

  • IC-PFG-21-08 pdf bib
    Real-time anomaly detection.
    Esdras Rodrigues do Carmo and Luiz Fernando Bittencourt.
    July 2021. In English, 15 pages.

    Summary: This work aims to expose an implementation of an anomaly detector in streaming highly scalable and affordable. The requirements for an algorithm to be considered a real-time anomaly detector and examples of algorithms that satisfy this requirement will be presented. From this, one of the algorithms will be implemented using processing in streaming with Apache Kafka to maximize the solution's performance, scalability and availability. The implementation will be evaluated in a cloud environment on AWS with memory, CPU, consumption metrics. throughput and latency.

  • IC-PFG-21-07 pdf bib
    Analysis of the use of Konker platform for simulating IoT applications.
    Lucas dos Santos Ramos and Luiz Fernando Bittencourt.
    July 2021. In English, 23 pages.

    Summary: The concept of Internet of Things (IoT) has numerous applications in today's society and has a great potential to revolutionize different sectors of our lives. With this capacity and such great expansion forecast, the guarantee of scalability of an IoT application is not trivial and is extremely important. Therefore, the availability of simulations to test the scalability of these applications is of great value for the development of the area. Therefore, this work aims to analyze the Konker platform as an option for simulating IoT applications, exploring the possibility of scalability tests with it and measuring which computational resources limit or not the scale of these simulations. After implementing a simple smart home application on the Konker platform and running a scalability experiment by creating multiple instances of this application and measuring the computational resources used during the process, we concluded that Konker is a viable platform for simulating IoT applications. In scenarios with scalability simulations approaching real use cases, with thousands of users, CPU processing was the limiting resource and simulations in cloud environments with this platform would be a natural extension of the analysis presented here.

  • IC-PFG-21-06 pdf bib
    Ordering Permutations by Deterministic Operations.
    Matheus Rotta, Gabriel Siqueira, and Zanoni Dias.
    July 2021. In English, 20 pages.

    Summary: The ordering problem has several applications, for example, the genome rearrangement problem can be formulated as the permutation ordering problem when there is no repetition of genes in the model. In this work, we explore the exchange, reversal and transposition operations. These operations may or may not be deterministic, meaning that one or more elements must be positioned correctly. When we talk about a partially deterministic operation, we are referring to the fact that at least one of the elements involved goes into the correct position; in the case of a fully deterministic operation, however, all the elements involved in the operation are correctly positioned. First, we study the partially deterministic version, and then the fully deterministic version for each operation. In the case of exchange, we generated algorithms or used classical algorithms that managed to follow the determinism constraint and keep the minimum number of operations. In the case of reversal and transposition, heuristics were developed that sought to order the permutation in a quantity of operations close to the minimum, following the restrictions of partial determinism. For all operations with full determinism we describe the permutations that can be ordered. As expected, by imposing the operations to be partially deterministic, the number of operations needed to order the permutation is greater since there are fewer operations available. Furthermore, we found that this increase is greater in the case of reversal than in transposition. It took an average of 1.6 times more reversal operations and 1.2 times more transpose operations to order the permutations by forcing determinism.

  • IC-PFG-21-05 pdf bib
    Diagnosis of COVID-19 using Deep Neural Networks.
    Thiago Dong Chen, Gabriel Bianchin de Oliveira, and Zanoni Dias.
    July 2021. In English, 19 pages.

    Summary: With the COVID-19 pandemic, several efforts have been made to develop quick and effective diagnoses to assist health professionals in decision-making. In this work, we evaluated convolutional neural networks to classify chest radiographic images of patients between normal, pneumonia and COVID-19. We evaluated several pre-processing and training techniques, and the best results were obtained by dividing the image into patches and performing the together between the specialist networks in each of the sections of the image. As a result, our classifier reached 90,67% in the test, surpassing another method in the literature.

  • IC-PFG-21-03 pdf bib
    Optical Flow Guided Interpolation of Curves.
    Tiago Loureiro Chaves and Hélio Pedrini.
    July 2021. In English, 21 pages.

    Summary: This project aimed to study the feasibility of a new form proposed for interpolation (inbetweening) of curves between keyframes of two-dimensional (2D) animations. Based on techniques developed for digital animations, which use motion fields extracted from three-dimensional (3D) models to guide the interpolation between consecutive frames, we use optical flow methods to estimate these fields in 2D images.

    Thus, we explored a way to apply these techniques to both 3D and 2D animation by not using information restricted to just one of the means of creation, such as can be obtained when using 3D rendering to generate images.

    Although this project has given greater focus to 2D drawings, the proposed methodology is applicable to other forms of content that also do not have the facilities brought by 3D CGI (Computer-Generated Imagery). An immediate example of this is for the technique of rotoscoping, since the optical flow can be estimated from the reference footage on which the animation is traced.

    Generally speaking, as we represent curves by defining them in parts, using cubic Bézier, this technique can be suitable for many cases -- and not just following the contour lines of objects between frames (frames) -- how to delimit regions and track them over time through the frames of a video, with the intention of using them in steps of post-processing the images, color corrections and adding special effects.

    We show that it is possible to generate interpolations very close to the artistic intent automatically, but that the end result is only as good as the optical flow method that is used adapts to the style of the images. Thus, the results obtained open space for future analysis of several improvements that can make the process more robust and effective.

  • IC-PFG-21-02 pdf bib
    Exploration and Evaluation of Techniques for Generating Anaglyphs.
    Matheus Mendes Araujo and Hélio Pedrini.
    July 2021. In English, 12 pages.

    Summary: This work investigated and evaluated a set of techniques for generating anaglyph images from one or two images, exploring the three-dimensional (3D) effect caused in the construction of a two-dimensional (2D) image. Classical techniques were also studied and applied in order to obtain a comparative study between them. Based on this research, we determined that linear methods are the simplest to implement compared to non-linear ones. The following techniques were evaluated: True (True), Grey (Gray), Colorful ( Colour), Half Color (half color) and Optimized (Optimized). The results obtained showed that each of these techniques has its advantages and disadvantages and, although some filter combinations improve the final result, we can still observe some anomalies such as color distortion, retinal competition (retinal/binocular rivalry) and disappearance (ghosting).

  • IC-PFG-21-01 pdf bib
    iOS Application for Identifying Letters Drawn on Mobile Screen Using Machine Learning.
    Bruno Dias Sepulveda and Hélio Pedrini.
    July 2021. In English, 17 pages.

    Summary: This report describes the main activities related to the development of an iOS app for identifying letters drawn on a mobile phone screen. For this, modern technologies were used, such as a neural network to identify letters and a user interface implemented with SwiftUI and PencilKit environments. A potential application of the system is to help children in the literacy process through a cell phone, a device that is increasingly common in people's daily lives.


  • Instituto de Computação :: State University of Campinas
    Av. Albert Einstein, 1251 - Cidade Universitária Zeferino Vaz • 13083-852 Campinas, SP - Brazil • Phone: [19] 3521-5838