1 |
[pt] MANUTENÇÃO ORIENTADA A PADRÕES: UM MÉTODO PARA PREVENIR EXCEÇÕES LATENTES NÃO TRATADAS EM APLICAÇÕES WEB / [en] PATTERN-DRIVEN MAINTENANCE: A METHOD TO PREVENT UNHANDLED LATENT EXCEPTIONS IN WEB APPLICATIONSDIOGO SILVEIRA MENDONCA 20 September 2019 (has links)
[pt] Contexto: Exceções não tratadas afetam a confiabilidade, usabilidade e segurança em aplicações web. Diversos estudos mediram a confiabilidade de aplicações web em uso em relação a exceções não tratadas, mostrando a recorrência deste problema durante a fase de manutenção. Detectar exceções não tratadas latentes de forma automatizada é uma tarefa difícil e específica de cada aplicação. Assim, abordagens gerais para tratar defeitos em aplicações web não tratam exceções não tratadas latentes apropriadamente. Objetivos: Projetar e avaliar um método que possa suportar encontrar, corrigir e prevenir exceções não tratadas em aplicações web. Método: Nós aplicamos o ciclo de engenharia do design science para projetar o método chamada Manutenção Orientada a Padrões (PDM). PDM consiste em identificar padrões de defeitos se baseando nos logs do servidor de aplicação, produzindo regras de análise estática que podem ser utilizadas para a prevenção de defeitos. Nós aplicamos PDM em duas aplicações web na indústria envolvendo empresas e tecnologias diferentes, medindo a melhoria confiabilidade das aplicações e a precisão das regras de análise estática produzidas. Nós também avaliamos o reuso das regras de análise estática produzidas durante a aplicação do PDM em software da mesma empresa e de outras empresas. Finalmente, nós estudamos a eficácia e aceitação de mantenedores novatos aplicando o método PDM. Resultados: Nos dois casos industriais, nossa abordagem permitiu a identificação de padrões de defeitos e exceções não tratadas latentes para correção no código fonte, permitindo eliminar completamente as falhas relacionadas a exceções não tratadas latentes e melhorando assim a confiabilidade da aplicação. Algumas regras de análise estática produzidas pela aplicação do método PDM foram reutilizadas em software na mesma empresa e em outra empresa. Nós identificamos os conhecimentos e experiências que influenciam em aplicar os passos do método PDM de forma eficaz. A maior parte dos mantenedores novatos acharam o
método PDM útil, mas não fácil de aplicar, dificultando a aceitação do método entre novatos. Conclusões: Os resultados fortalecem nossa confiança que o PDM pode ajudar os mantenedores a melhorar a confiabilidade em relação a exceções não tradadas em aplicações web existentes. Nós disponibilizamos orientações sobre como utilizar o método, reutilizar as regras de análise estática produzidas, e quais conhecimentos e experiências são necessárias para aplicar o PDM com eficácia. / [en] Background: Unhandled exceptions affect the reliability, usability, and security of web applications. Several studies have measured the reliability of web applications in use against unhandled exceptions, showing a recurrence of the problem during the maintenance phase. Detecting automatically unhandled latent exceptions is difficult and application-specific. Hence, general approaches to deal with defects in web applications do not treat unhandled exceptions appropriately. Aims: To design and evaluate a method that can support finding, correcting, and preventing unhandled exceptions in web applications. Method: We applied the design science engineering cycle to design a method called Pattern-Driven Maintenance (PDM). PDM relies on identifying defect patterns based on application server logs and producing static analysis rules that can be used for prevention. We applied PDM to two industrial web applications involving different companies and technologies, measuring the reliability improvement and the precision of the produced static analysis rules. We also evaluated reuse of static analysis rules produced during PDM application on within- and cross-company software. Finally, we studied the effectiveness and acceptance of novice maintainers on applying the PDM method Results: In both industry cases, our approach allowed identifying defect patterns and finding unhandled latent exceptions to be fixed in the source code, enabling to eliminate the pattern-related failures and improving the application reliability completely. Some of the static analysis rules produced by PDM application were reused on within- and cross-company software. We identified knowledge and experiences that influence on effectively applying steps of the PDM method. Most of the novice maintainers find PDM useful, but not easy to apply, thus hindering PDM acceptance among novices. Conclusions: The results strengthen our confidence that PDM can help maintainers to improve the reliability for unhandled exceptions in existing web applications. We provide guidance on how to apply PDM, reuse the produced static analysis rules, and the knowledge and experiences needed to apply the PDM method effectively.
|
Page generated in 0.0401 seconds