Sou um desenvolvedor de software apaixonado por tecnologia, inovação, bom código e qualidade.
Desde
criança sempre notei a importância da tecnologia no cotidiano e naquela epoca eu acreditava que dia
a dia estaríamos ainda mais imersos e dependentes deste nesses mundo de tecnologia. Não tive dúvidas
ao escolher a carreira que pretendia seguir e hoje me sinto lisongeado em atuar nesta área e saber
que o código que eu escrevo resolve o problema de alguém, e assim, transforma sua vida para
melhor.
Sou bacharel em Ciência da Computação (2014 - 2017) pelo Centro Universitário Euripedes de Marília
(Marília/SP) e aluno de mestrado do Instituto de Ciências Matemáticas e Computacionais (ICMC) da
Universidade de São Paulo (USP) em São Carlos/SP. Concomitante à minha carreira profissional,
desenvolvo minha carreira acadêmica com pesquisas na área de Engenharia de Software, com foco em
Teste de Software.
Minha carreira profissional se resume a apenas duas empresas, mas diversos cargos. Comecei
trabalhando no suporte técnico de ERP, atuei na equipe de produtos, teste e verificação de software
e desde então trabalho como desenvolvedor de software. Atualmente trabalho como desenvolvedor
mobile, utilizando o Flutter para criar aplicativos híbridos, para Android e iOS.
Desenvolvimento de novas funcionalidades do projeto utilizando Flutter/React Native. Participação em cerimônicas Scrum, participação em decisões sobre estimativas de complexidade e tempo sobre o desenvolvimento de novas funcionalidades.
Auxílio ao professor na disciplina de Programação Orientada a Objetos. Auxílio no desenvolvimento das aulas, nas dúvidas dos alunos, no desenvolvimento e correção de atividades e avaliações.
Auxílio ao professor na disciplina de Introdução a Ciência da Computação para Engenharia Ambiental. Auxílio no desenvolvimento das aulas, nas dúvidas dos alunos, no desenvolvimento e correção de atividades e avaliações.
Desenvolvimento de novas funcionalidades do ERP utilizando a plataforma .NET da Microsoft, nas linguagens C# e Visual Basic.
Avaliação da qualidade de software utilizando Teste Funcional. Treinamento e capacitação de clientes local ou remotamente e novos colaboradores no ERP Dataplace Symphony. Implantação, manutenção e assistência de plataforma de LMS (Learning Managament System), Moodle.
Suporte técnico no ERP Dataplace Symphony nos segmentos de Compras, Vendas, Finanças, Engenharia de Produção e NFe, além de manutenção de servidores SQLServer, banco de dados SQLServer e scripts em Visual Basic Script.
Suporte técnico no ERP Dataplace Symphony nos segmentos de Compras, Vendas, Finanças, Engenharia de Produção e NFe.
Clique aqui para visualizar o certificado.
Participação nas trilhas:
Clique aqui para visualizar o certificado.
Clique aqui para visualizar o certificado.
Clique aqui para visualizar o certificado.
Clique aqui para visualizar o certificado.
Clique aqui para acessar os slides da apresentação.
Clique aqui para acessar os slides da aula.
Clique aqui para acessar os slides do minicurso.
Clique aqui para acessar os slides da aula 1 de 3. Clique aqui para acessar os slides da aula 2 de 3. Clique aqui para acessar os slides da aula 3 de 3.
Clique aqui para acessar o artigo.
Abstract: Two issues that have been hampering the widespread adoption of mutation testing are redundant and equivalent mutants. Minimal mutation has been recently introduced to mitigate these two issues by generating and selecting only a subset of non-redundant mutants. Equivalent mutants are syntactically different from the original program, but functionally identical, so it is impossible to come up with test data capable of making equivalent mutants behave differently from the original program under test. In order to mitigate the cost of applying mutation testing, we set out to investigate how machine learning algorithms that generate predictive models can be used to classify mutants as belonging to the minimal set or equivalent. More specifically, we extract a set of features (i.e., properties) from programs, mutants, and test cases, which in turn serve as input to the creation of predictive models. To shed some light on the effectiveness of our approach, we carried out an experiment in which we trained seven different machine learning classifiers, the best of which obtained 81.88% and 80.30% accuracy to classify minimal and equivalent mutants, respectively. Results from our experiment would seem to indicate that our approach can effectively mitigate some of the costs associated with mutation testing by relying on the identification of minimal sets and equivalent mutants.
Clique aqui para acessar o artigo.
Abstract: Software testing can be a helpful practice to certify the quality of a product. However, there are programs which are hard, if not impossible, to determine the expected outputs. This problem is called the "oracle problem". Metamorphic testing (MT) is an approach that aims to alleviate this problem by setting a series of relations, called metamorphic relations (MRs). This paper applies MT through a user-oriented approach and the following MRs: MPublished, MPTitle, MPShuffleJD and Top1Absent as a strategy for evaluating, verifying, and validating four Academic Search Engines (ASEs): ACM, IEEE, ScienceDirect, and Springer. Therefore, we conducted an experimental study to analyze how MRs can contribute to verifying the correctness of the properties of ASEs. Results indicate that the ASEs have performed differently in their execution for each MR analyzed. This shows that the algorithms of the scientific search engines have different behaviors among the characteristics analyzed. These behaviors may not be properly characterized by a possible failure, but by a simple design choice. On the other hand, the approach is useful for search engine users that need to be sure that the ASEs behave as expected during a search, as the results of secondary studies strongly depend on the correct behavior of the scientific search engine used.
Clique aqui para acessar o artigo.
Abstract: Mutation testing is a fault-based criterion that helps testers to evaluate the adequacy of a test set applied to a given program. In order to do that, mutation operators are applied to the software being tested, creating versions with few syntactic deviations from the original program, called mutants. The choice of mutation operator plays an important role when applying mutation testing regarding the test case design and cost analysis. However, some generated mutants are considered as redundant and may be considered unnecessary during mutation testing. This paper addresses this topic and investigates the effectiveness of test suites designed to kill mutants of a specific operator to kill mutants that belong to the minimal set of mutants. We performed an experimental evaluation using a set of 39 programs written in C language. Guided by previous studies, we evaluated the effectiveness of deletion operators, and due to the results, we extended our investigation to all mutant operators. Concerning deletion operators, the results showed that even combining deletion operators, the best mutation score achieved was, on average, 0.460 using the SODL (SSDL + OODL) operator. The following analyses showed that the VDTR operator performed better than the deletion operators both in terms of mutation score and in terms of cost, proving to be the best approach to design test cases that have a higher impact on killing mutants that belong to the minimal set of mutants.