1 research outputs found

    Reparação automática de programas: Exploração do potencial em contexto industrial

    Get PDF
    Today the automatic repair of programs is an issue increasingly discussed. The discussion of it comes from the evolution and advancement of technology, namely the environments of continuous integration and continuous delivery (CI/CD). These environments imply that the delivery of functional software is increasingly accelerated, and sometimes defects delay this process, implying the traditional debugging by a programmer, with the aim of detecting the defect and repairing it with quality. Automatic programming has been showing an increasing evolution, namely through techniques of automatic repair of APR programs. These techniques focus on the identification, localization, generation of correction and verification of the repaired version of the defective program, avoiding the programmer's effort in the identification and debugging process. This work aims at experimenting with two automatic repair tools, Arja and jGenProg, implanted in a pipeline, in an industrial context. The tools evaluation was done through the process of comparing them between themselves and with manual repairing process, and with the application of two questionnaires. In conclusion, both tools were able to be implanted in a pipeline, despite the necessary time required. The jGenProg tool revels a better performance, because it could detect a suspicious case and presented an even more completed report. However, the inquired developers choose the manual repairing process, against any of the evaluated tools.A reparação automática de software ou programas é uma temática que, hoje em dia, é cada vez mais discutida. A discussão da mesma advém da evolução e do avanço da tecnologia, nomeadamente os ambientes de integração e entrega contínuos. Estes ambientes requerem que a entrega de software funcional seja cada vez mais acelerada, sendo que por vezes os defeitos atrasam este processo, implicando a tradicional depuração por parte de um programador, com o objetivo de detetar o defeito e o reparar com qualidade. A programação automática tem vindo a demonstrar uma crescente evolução, nomeadamente através de técnicas de reparação automática de programas. Estas técnicas concentram-se na identificação, localização, geração de correção e verificação da versão reparada do programa com defeito, evitando o esforço do programador no processo de identificação e depuração. Este trabalho visa a experimentação de duas ferramentas de reparação automática, a Arja e a jGenProg, implantadas numa pipeline, em contexto industrial. A avaliação das ferramentas foi efetuada através da comparação entre elas e com a reparação manual e recorrendo a dois questionários. Conclui-se que ambas as ferramentas são passíveis de implantar em pipeline, apesar do tempo necessário poder ser superior ao desejado. A ferramenta jGenProg apresentou um melhor desempenho, pois conseguiu detetar um caso suspeito e apresenta um relatório mais completo. Todavia, os programadores inquiridos preferem a reparação manual a quaisquer uma das duas ferramentas avaliadas
    corecore