Navegando por Autor "Sousa Neto, Eliezio Soares de"
Agora exibindo 1 - 2 de 2
- Resultados por página
- Opções de Ordenação
Dissertação Avaliando a robustez e manutenibilidade do comportamento excepcional de aplicações C#(Universidade Federal do Rio Grande do Norte, 2014-04-25) Sousa Neto, Eliezio Soares de; Cacho, Nelio Alessandro Azevedo; ; http://lattes.cnpq.br/4635320220484649; ; http://lattes.cnpq.br/4774223109614503; Lima Filho, Fernando José Castor de; ; http://lattes.cnpq.br/7310046838140771; Costa, Umberto Souza da; ; http://lattes.cnpq.br/9526809466920084As linguagens de programação convencionais fornecem mecanismos de tratamento de exceções internos a fim de prover implementação de tratamento de exceções em sistemas de software robusto e manutenível. A maioria dessas linguagens modernas, tais como C#, Ruby, Python e muitas outras, frequentemente afirmaram ter mecanismos de tratamento de exceção mais apropriados. Elas reduzem as restrições de programação no tratamento de exceção buscando agilizar mudanças no código fonte. Essas linguagens suportam o que chamamos de mecanismos de tratamento de exceções dirigidos a manutenção. Espera-se que a adoção desses mecanismos aumentem a manutenibilidade dos softwares sem impactar na robustez. Entretanto ainda existe pouco conhecimento empírico acerca do impacto que a adoção desses mecanismos tem na robustez de softwares. Este trabalho busca preencher essa lacuna conduzindo um estudo empírico direcionado ao entendimento da relação entre mudanças em programas C# e sua robustez. Em particular, nós avaliamos como mudanças nos códigos normal e excepcional se relacionam com faltas no tratamento de exceção. Nós aplicamos uma análise de impacto de mudança e uma análise de fluxo de controle em 100 versões de 16 programas escritos em C#. A partir dos dados coletados, este trabalho identificou os elementos do trade-off entre manutenibilidade e robustezTese The effects of continuous integration on software development: a causal investigation(Universidade Federal do Rio Grande do Norte, 2023-09-19) Sousa Neto, Eliezio Soares de; Kulesza, Uirá; Costa, Daniel Alencar da; http://lattes.cnpq.br/0189095897739979; http://lattes.cnpq.br/4774223109614503; Aranha, Eduardo Henrique da Silva; http://lattes.cnpq.br/9520477461031645; Maia, Marcelo de Almeida; Almeida, Rodrigo Bonifácio de; Medeiros, Sérgio Queiroz deIntegração Contínua (Continuous Integration—CI) é uma técnica de engenharia de software comumente mencionada como um dos pilares das metodologias ágeis. CI tem como principal objetivo reduzir o custo e o risco da integração de código entre times de desenvolvimento. Para tal se preconiza a realização de commits frequentes para integrar o trabalho dos desenvolvedores em um repositório de código e a frequente verificação de qualidade através de builds e testes automatizados. Através do uso de CI espera-se que os times de desenvolvimento possam detectar e corrigir erros rapidamente, melhorando a produtividade dos times e a qualidade dos produtos de software desenvolvidos entre outros benefícios apontados por pesquisadores e praticantes. Estudos anteriores sobre o uso de CI apontam diversos benefícios em diversos aspectos do desenvolvimento de software, entretanto tais associações não estão mapeadas como um todo e também não são suficientes para concluir que CI seja de fato a causa de tais resultados. Portanto, este trabalho tem como objetivo investigar empiricamente tais efeitos da adoção de CI no desenvolvimento de software sob uma perspectiva causal. Primeiro, nós realizamos uma revisão sistemática de literatura para catalogar os achados de estudos que avaliaram empiricamente os efeitos da adoção de CI. Após explorar o conhecimento já documentado conduzimos dois estudos com o objetivo de aprofundar a compreensão a respeito de dois desses aspectos supostamente afetados pela adoção de CI: qualidade de software e a produtividade dos times de desenvolvimento. Nós pretendemos responder se há uma relação causal entre a adoção de CI e os efeitos reportados na literatura. Para isso utilizamos causal Direct Acyclic Graphs (causal DAGs) combinado a duas outras estratégias: revisão de literatura e um estudo de mineração de repositório de software (Mining Software Repository—MSR). Nossos resultados mostram um panorama dos efeitos de CI reportados na literatura e apontam que há de fato uma relação causal entre CI e qualidade de software.