• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 183
  • 15
  • 4
  • Tagged with
  • 202
  • 202
  • 163
  • 49
  • 44
  • 35
  • 34
  • 30
  • 29
  • 28
  • 26
  • 25
  • 25
  • 24
  • 23
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
171

"Ensino integrado de fundamentos de programação e teste de software" / Integrated Teaching of Programming Foundations and Software Testing

Camila Kozlowski Della Corte 26 April 2006 (has links)
O ensino das disciplinas de fundamentos de programação e teste de software não é trivial. Várias iniciativas têm sido investigadas a fim de amenizar os problemas associados a essa atividade. Uma dessas iniciativas é o ensino conjunto de conceitos básicos de programação e de teste de software em disciplinas introdutórias dos cursos de Ciências da Computação. Este trabalho insere-se nessa perspectiva, tendo como principal objetivo fornecer subsídios para o ensino integrado de fundamentos de programação OO e teste de software. Para atingir esse objetivo, foi desenvolvido um módulo educacional integrado de fundamentos de programação OO e teste de software, utilizando uma abordagem integrada para modelagem de conteúdos educacionais. Ênfase é dada na modelagem dos aspectos conceituais, instrucionais e didáticos dos domínios de conhecimento envolvidos. Além disso, também foi desenvolvido um ambiente, denominado ProgTest, baseado na Web e na concepção de software livre, para submissão e avaliação de trabalhos práticos dos alunos. O ambiente foi integrado com ferramentas de teste de modo que a avaliação dos trabalhos seja realizada com base em atividades de teste. Os programas e os resultados são avaliados com base em padrões de consistência, eficácia e eficiência uniformes. Os professores também podem ter uma redução na sua carga de trabalho, uma vez que o sistema avalia automaticamente tanto os casos de teste quanto o código do programa. / The teaching of fundamentals of programming and software testing is not trivial. Many attempts have been investigated in order to reduce the problems associated to this activity. One of these initiatives is the teaching of basic concepts and techniques of programming in conjunction with software testing in introductory courses of the Computer Science. In this sense, this work aims at providing mechanisms to the integrated teaching of fundamentals of OO programming and software testing. To achieve this goal, we developed an integrated educational module of fundamentals of OO programming and software testing, using an integrated approach to model the educational contents. We focus on conceptual, instructional and didactic modeling of the knowledge domains. Furthermore, an open source Web-based environment, named ProgTest, was also developed for the submission and evaluation of practical assignments to the students. The environment was integrated with testing tools, so the evaluation of the assignments is performed based on testing activities. The assignments and the results are evaluated based on the uniform standards in terms of consistence, efficacy and efficiency. The professors can have their workload reduced with this environment, once the system automatically evaluates both the code of the assignment as well as its test cases.
172

Toward harnessing a Java high-level language virtual machine for supporting software testing / Utilizando uma máquina virtual Java como apoio à atividade de teste de software

Vinicius Humberto Serapilha Durelli 01 October 2013 (has links)
High-level language virtual machines (HLL VMs) have been playing a key role as a mechanism for implementing programming languages. Languages that run on these execution environments have many advantages over languages that are compiled to native code. These advantages have led HLL VMs to gain broad acceptance in both academy and industry. However, much of the research in this area has been devoted to boosting the performance of these execution environments. Few eorts have attempted to introduce features that automate or facilitate some software engineering activities, including software testing. This research argues that HLL VMs provide a reasonable basis for building an integrated software testing environment. To this end, two software testing features that build on the characteristics of a Java virtual machine (JVM) were devised. The purpose of the rst feature is to automate weak mutation. Augmented with mutation support, the chosen JVM achieved speedups of as much as 95% in comparison to a strong mutation tool. To support the testing of concurrent programs, the second feature is concerned with enabling the deterministic re-execution of Java programs and exploration of new scheduling sequences / Máquinas virtuais de linguagens de programação têm desempenhado um papel importante como mecanismo para a implementação de linguagens de programação. Linguagens voltadas para esses ambientes de execução possuem várias vantagens em relação às linguagens compiladas. Essas vantagens fizeram com que tais ambientes de execução se tornassem amplamente utilizados pela indústria e academia. Entretanto, a maioria dos estudos nessa area têm se dedicado a aprimorar o desempenho desses ambientes de execução e poucos têm enfocado o desenvolvimento de funcionalidades que automatizem ou facilitem a condução de atividades de engenharia de software, incluindo atividades de teste de software. Este trabalho apresenta indícios de que máquinas virtuais de linguagens de programação podem apoiar a criação de ambientes de teste de software integrado. Para tal, duas funcionalidades que tiram proveito das características de uma máquina virtual Java foram desenvolvidas. O propósito da primeira funcionalidade e automatizar a condução de atividades de mutação fraca. Após a implementação de tal funcionalidade na máquina virtual Java selecionada, observou-se um desempenho até 95% melhor em relação a uma ferramenta de mutação forte. Afim de apoiar o teste de programas concorrentes, a segunda funcionalidade permite reexecutá-los de forma determinística além de automatizar a exploração de que novas sequências de escalonamento
173

Subsídios para o estabelecimento de estratégias de teste baseadas na técnica de mutação. / Subsidies for the establishment of testing strategy based on mutation technique.

Auri Marcelo Rizzo Vincenzi 06 November 1998 (has links)
Para sistematizar os testes e contornar as restrições de tempo e custo associadas à atividade de teste, diversas técnicas, critérios e ferramentas têm sido desenvolvidas. Além disso, visando ao estabelecimento de uma estratégia de teste incremental, que apresente baixo custo de aplicação e alta eficácia em revelar a presença de erros, estudos teóricos e empíricos vêm sendo conduzidos pela comunidade de teste. O presente trabalho está inserido nesse contexto e tem como objetivo a realização de estudos empíricos para comparar a adequação entre os critérios baseados em erros - Análise de Mutantes (teste de unidade) e Mutação de Interface (teste de integração) - visando ao estabelecimento de estratégias de teste de baixo custo e eficazes, que englobem todo o ciclo de desenvolvimento de software. Nessa perspectiva, algumas estratégias incrementais de aplicação dos operadores de mutação de unidade e de integração são definidas, explorando o aspecto complementar dos critérios baseados em mutação, reduzindo com isso os custos da atividade de teste durante as fases do teste de unidade e de integração, sem comprometer sua qualidade. Ainda, um conjunto essencial de operadores de mutação para o critério Mutação de Interface é apresentado. / Techniques, criteria and tools have been developed and investigated making the testing activity more systematic and aiming at overcoming associated time and cost constraints. Pursuing the establishment of an incremental, low-cost and effective testing strategy, theoretical and empirical studies have been conducted by the testing community. The work proposed here is within this context and aims to conduct empirical studies for evaluating the adequacy between error based criteria - Mutation Analysis (unit testing) and Interface Mutation (integration testing). Therefore, this work intends to establish low-cost and effective testing strategies that would comprise all software development cycle. In this perspective, some incremental testing strategies for mutant operators application are defined exploring the complementary aspects of unit and integration error based criteria, reducing theirs costs without losses in testing quality. In this scope, an essential mutant operators set for Interface Mutation criterion is characterized.
174

Teste estrutural de integração contextual de programas orientados a objetos e a aspectos / Contextual integration structural testing of object-oriented and aspect-oriented programs

Bruno Barbieri de Pontes Cafeo 15 July 2011 (has links)
Paradigmas e técnicas de desenvolvimento como a programação Orientada a Objetos (OO) e a programação Orientada a Aspectos (OA) procuram melhorar os níveis de reuso e manutenibilidade na produção de software. Contudo, com a introdução de mecanismos com maior poder de expressividade e, consequentemente, a possível introdução de novos tipos de defeitos, a utilização de linguagens OO e OA pode se tornar um obstáculo ao invés de um auxílio ao desenvolvimento de software. Para lidar com esse problema, nesta dissertação é proposta uma abordagem de teste estrutural de integração para programas orientados a objetos e a aspectos implementados em Java e AspectJ. É definido um modelo de fluxo de controle e de dados baseado no bytecode Java { chamado Grafo Def-Uso Contextual (ou Contextual Def-Use graph) - que é uma abstração formada pela integração dos grafos Def-Uso Orientados a Aspectos (AODU) da unidade sob teste com todas as unidades que interagem direta ou indiretamente com ela até um nível de profundidade de interação máximo ou definido pelo testador. São defiidos três critérios de teste: todos-nós-integrados-Nd, todas-arestas-integradas-Nd e todos-usos-integrados-Nd. Para automatizar o uso do modelo e critérios propostos, a ferramenta JaBUTi/AJ foi estendida. Exemplos de usos são discutidos e, por meio de um estudo experimental, uma análise de aplicabilidade da abordagem proposta é apresentada / Development paradigms and techniques such as Object-Oriented (OO) programming and Aspect-Oriented (AO) programming aim at improving reuse levels and maintenability in the software production. However, due to the introduction of mechanisms to support a greater power of expressiveness and, consequently, possible introduction of new type of faults, the use of OO and AO languages might become an obstacle instead of a benefit in the software development. To deal with these problems, in this dissertation is presented an integration structural testing approach for objectand aspect-oriented software based on Java and AspectJ. It is defined a control- and data- ow model based on Java bytecode { called Contextual Def-Use graph { that is an abstraction composed by the integration of Aspect-Oriented Def-Use graphs (AODU) of the unit under testing with the units triggered by the execution of the unit under testing considering either a maximum interaction depth level or an interaction depth level previously defined by the tester. Three testing criteria are also defined: all-integrated-nodes-Nd, all-integrated-edges-Nd and all-integrated-uses-Nd. To automate the use of the model and the testing criteria, the JaBUTi/AJ tool was extended. Usage examples are discussed to explain the approach and an exploratory study is conducted to evaluate the applicability of the proposed approach
175

Teste de programas orientados a aspectos: uma abordagem estrutural para AspectJ / Testing aspect-oriented programs: a structural approach for AspectJ

Otávio Augusto Lazzarini Lemos 04 February 2005 (has links)
Em meados dos anos 90, alguns pesquisadores constataram a existência de certos interesses que, independente da técnica de programação utilizada ou da maneira como o sistema venha a ser decomposto, não se encaixam em módulos individuais, mas ficam espalhados por várias unidades do software (também chamados de interesses transversais). A programação orientada a aspectos (POA) foi concebida como uma proposta de resolução desse problema, a partir do uso de mecanismos que permitem o isolamento dos interesses transversais. Entretanto, por ser uma técnica nova, nesses primeiros anos os pesquisadores preocuparam-se em estabelecer os conceitos e técnicas básicos das linguagens orientadas a aspectos, deixando para uma segunda fase a investigação de outras características do desenvolvimento de programas orientados a aspectos, como métodos de projeto e abordagens de teste. Nesta dissertação é apresentada uma abordagem de teste estrutural para programas orientados a aspectos baseados na linguagem AspectJ, que pode contribuir para o aumento da confiança no software desenvolvido utilizando essa técnica e auxiliar o entendimento das novas construções e comportamentos envolvidos nesses programas. Modelos de fluxo de controle e de dados baseados no código-objeto resultante da compilação/ combinação de programas escritos na linguagem AspectJ são propostos, bem como nove critérios de teste baseados nesses modelos. Uma ferramenta desenvolvida para apoiar o teste estrutural de unidade de programas Java foi estendida para dar apoio aos modelos e critérios propostos nesta dissertação. Além disso, algumas propriedades do teste de integração de programas orientados a aspectos são discutidas teoricamente.
176

Aplicação da análise de mutantes no contexto do teste e validação de redes de Petri coloridas" / The application of mutation testing in the context of testing and validation of coloured Petri nets

Adenilso da Silva Simão 17 December 2004 (has links)
O uso de técnicas e métodos formais contribui para o desenvolvimento de sistemas confiáveis. No entanto, apesar do rigor obtido, em geral, é necessário que essas técnicas sejam complementadas com atividades de teste e validação. Deve-se ressaltar que o custo para eliminar erros encontrados nas etapas iniciais de desenvolvimento é menor do que quando esses erros são encontrados nas fases posteriores. Dessa forma, é essencial a condução de atividades de VV&T - Verificação, Validação e Teste - desde as primeiras fases de desenvolvimento. Critérios de teste, como uma forma sistemática de avaliar e/ou gerar casos de teste de qualidade e, dessa forma, contribuir para aumentar a qualidade da atividade de teste, têm sido investigados para o teste de especificação de Sistemas Reativos. A técnica Redes de Petri Coloridas tem sido constantemente utilizada para a especificação do aspecto comportamental de Sistemas Reativos. Apesar de existirem diversas técnicas de análise, um aspecto não considerado é a cobertura alcançada, visto que, em geral, a aplicação exaustiva não é viável devido ao alto custo. Considerando a relevância do estabelecimento de métodos sistemáticos para o teste e validação dessas especificações, este trabalho propõe a aplicação do critério de teste Análise de Mutantes para o teste de Redes de Petri Coloridas. Neste trabalho foram almejados três objetivos principais, os quais podem ser divididos em estudos teóricos, estudos empíricos e automatização. No contexto de estudos teóricos, foi realizada a definição e embasamento teórico para possibilitar a aplicação da Análise de Mutantes no contexto de Redes de Petri Coloridas. Além disso, investigaram-se mecanismos genéricos para a descrição e geração de mutantes. Definiu-se um algoritmo para a geração de casos de teste baseado na Análise de Mutantes. No contexto de estudos empíricos, foram conduzidos estudos de caso para avaliar a aplicabilidade e eficácia dos resultados teóricos obtidos. Finalmente, no contexto de automatização, foram desenvolvidas ferramentas de apoio à aplicação da Análise de Mutantes. / The usage of formal methods and techniques contributes to the development of highly reliable system, but, in spite of the achieved rigour, these techniques must be complemented with testing and validation activities. It should be highlighted that the cost to eliminate errors found in the early phases of development is smaller than when those errors are found in the later phases. Therefore, the accomplishment of VV&T activities - Verification, Validation and Test - starting at the first development phases is essential. Testing criteria, as a systematic way to evaluate and/or generate test cases, contributing, therefore, to improve the quality of the test activity, have been proposed for testing reactive systems specifications. A technique that has been steadily employed for specifying the behavioural aspect of reactive systems is the coloured Petri nets. Although there are several analysis and validation techniques, a usually neglected aspect is the achieved coverage, given that, in general, the exhaustive application is not feasible due to its high cost. Considering the relevance of establishing systematic methods for the test and validation of coloured Petri nets based specification, this work proposes the investigation of the viability of applying Mutation Testing to test coloured Petri nets. In this work three main goals were pursued, which can be grouped in: theoretical studies, empirical studies and tool development. In the context of theoretical studies, it was accomplished the definition of theoretical concepts to enable the application of Mutant Analysis in the context of coloured Petri nets. Moreover, a mutation-based algorithm was defined to generate test sequences for Petri nets. In the context of empirical studies, case studies were carried out to evaluate the applicability and effectiveness of the achieved theoretical results. Finally, in the context of tool development, tools for supporting the application of Mutation Testing were developed.
177

Uma contribuição ao projeto arquitetural de ambientes de engenharia de software / A contribution to the architectural design of software engineering environments

Elisa Yumi Nakagawa 25 May 2006 (has links)
Atualmente , uma proliferação de ferramentas e ambientes de Engenharia de Software tem sido observada, impactando positivamente na produção de software. Contudo, apesar do reúso ser foco de muitas das pesquisas em Engenharia de Software, a grande maioria dessas ferramentas e ambientes é construída de forma individual, sem a preocupação com o reúso dos esforços de desenvolvimento. Além disso, a literatura carece de trabalhos que estabeleçam arquiteturas de referência adequadas para esses ambientes, o que pode estar influenciando nas dificuldades de integração e evolução que esses ambientes têm sofrido. Não sendo diferente, o domínio de teste de software tem contribuído com uma diversidade de ferramentas de teste, viabilizando a condução de estudos comparativos de diversos critérios e técnicas de teste que vêm sendo propostos. Vale destacar também que não se encontram na literatura trabalhos que abordem o desenvolvimento de ferramentas de teste de forma efetiva e com base em reúso; adicionalmente, observa-se a carência de arquiteturas de referência adequadas, recentes e eficazes para a construção de ferramentas para esse domínio. Apesar das vantagens da Web como plataforma de disponibilização de sistemas de software, ainda são poucas as iniciativas de ferramentas e ambientes de Engenharia de Software para essa plataforma. Nesse contexto, o objetivo deste trabalho consiste em investigar mecanismos que facilitem o desenvolvimento de ambientes e ferramentas de Engenharia de Software, visando à diminuição dos custos de desenvolvimento e manutenção. Mais especificamente, será estabelecida uma arquitetura de referência de ambientes de Engenharia de Software, buscando atender, em especial, à evolução contínua e à facilidade de uso e integração que esses ambientes requerem. Para isso, serão também explorados diversos mecanismos de forma a estabelecer uma arquitetura adequada e, ao mesmo tempo, eficaz, baseado no desenvolvimento orientado a aspectos, no uso de frameworks e de ontologias, bem como na norma internacional ISO/IEC 12207. Um estudo de caso para refinamento da arquitetura de referência proposta para o domínio de teste de software é apresentado. Por fim, com base na experiência do estudo de caso, é estabelecido um processo preliminar de especialização e instanciação arquitetural para a construção de arquiteturas de referência para domínios específicos de Engenharia de Software / Recently, a proliferation of Software Engineering tools and environments has been observed, with positive impact on software production. However, despite reuse being the focus of many research in Software Engineering area, most tools and environments have been built individually, without attention in the reuse of development efforts. Moreover, there is a lack of works that propose reference architectures to these environments which can be influencing in the difficulties of evolution and integration that these environments have been suffered. In the same way, a diversity of tools has been also proposed in the Software Testing domain, making it possible the conduction of comparative studies of testing techniques and criteria. It is also important to highlight that works that discuss the development of testing tools in an effective way and based on reuse can not be found; in addition, there is a lack of adequate, recent and efficient reference architectures to that domain. Despite advantages of the Web as a platform to make available software systems, there are few initiatives of Software Engineering tools and environments. In this context, this work aims at investigating facilities to develop Software Engineering tools and environments for Web platform, aiming at low cost in development and maintenance. In particular, a reference architecture for Software Engineering environment is established, aiming at attempting the continuous evolution and facilities of use and integration required by these environments. This architecture is based on diverse mechanisms, such as aspect oriented programming, frameworks, ontologies and international standard ISO/IEC 12207. Following, a case study is conducted, aiming at establishing a reference architecture for Software Testing domain. Based on this case study experience, a preliminary process that involves the architectural specialization and instantiation to derive reference architectures for specific domains, such as analysis, design and testing, is established
178

Documentação e testes da biblioteca genérica de álgebra linear Klein / Tests and documentation of the Klein library

Rafael Freitas Schmid 12 December 2014 (has links)
Este trabalho descreve a Klein, uma biblioteca genérica para álgebra linear em C++. A Klein facilita o uso de matrizes e vetores, permitindo que o usuário programe de modo similar ao Matlab. Com ela podemos, por exemplo, implementar um passo do método de Newton para a função f, através da expressão x = x - inv(jac(x)) * f(x), onde x é o vetor, jac a Jacobiana e inv a inversa. Além disso, por se tratar de uma biblioteca genérica, os tipos envolvidos nestas expressões podem ser escolhidos pelo programador. O trabalho também discute como a biblioteca é testada, tanto do ponto de vista de corretude quanto de desempenho. / We describe the Klein library, a generic libray for linear algebra in C++. It simplifies the use of vectors and matrices and let the user program as in Matlab. With Klein, one can for instance implement Newton\'s method as x = x - inv(jac(x)) * f(x), where x is a vector, jac is the Jacobian matrix, inv is the inverse operator and f(x) is the function of which we want to find zero. Moreover, Klein is generic in the sense that it allows the use of arbitrary types of scalars (float, double, intervals, rationals, etc). We also explain how it is tested, both for correctness and performance.
179

Uma contribuição ao projeto arquitetural de ambientes de engenharia de software / A contribution to the architectural design of software engineering environments

Nakagawa, Elisa Yumi 25 May 2006 (has links)
Atualmente , uma proliferação de ferramentas e ambientes de Engenharia de Software tem sido observada, impactando positivamente na produção de software. Contudo, apesar do reúso ser foco de muitas das pesquisas em Engenharia de Software, a grande maioria dessas ferramentas e ambientes é construída de forma individual, sem a preocupação com o reúso dos esforços de desenvolvimento. Além disso, a literatura carece de trabalhos que estabeleçam arquiteturas de referência adequadas para esses ambientes, o que pode estar influenciando nas dificuldades de integração e evolução que esses ambientes têm sofrido. Não sendo diferente, o domínio de teste de software tem contribuído com uma diversidade de ferramentas de teste, viabilizando a condução de estudos comparativos de diversos critérios e técnicas de teste que vêm sendo propostos. Vale destacar também que não se encontram na literatura trabalhos que abordem o desenvolvimento de ferramentas de teste de forma efetiva e com base em reúso; adicionalmente, observa-se a carência de arquiteturas de referência adequadas, recentes e eficazes para a construção de ferramentas para esse domínio. Apesar das vantagens da Web como plataforma de disponibilização de sistemas de software, ainda são poucas as iniciativas de ferramentas e ambientes de Engenharia de Software para essa plataforma. Nesse contexto, o objetivo deste trabalho consiste em investigar mecanismos que facilitem o desenvolvimento de ambientes e ferramentas de Engenharia de Software, visando à diminuição dos custos de desenvolvimento e manutenção. Mais especificamente, será estabelecida uma arquitetura de referência de ambientes de Engenharia de Software, buscando atender, em especial, à evolução contínua e à facilidade de uso e integração que esses ambientes requerem. Para isso, serão também explorados diversos mecanismos de forma a estabelecer uma arquitetura adequada e, ao mesmo tempo, eficaz, baseado no desenvolvimento orientado a aspectos, no uso de frameworks e de ontologias, bem como na norma internacional ISO/IEC 12207. Um estudo de caso para refinamento da arquitetura de referência proposta para o domínio de teste de software é apresentado. Por fim, com base na experiência do estudo de caso, é estabelecido um processo preliminar de especialização e instanciação arquitetural para a construção de arquiteturas de referência para domínios específicos de Engenharia de Software / Recently, a proliferation of Software Engineering tools and environments has been observed, with positive impact on software production. However, despite reuse being the focus of many research in Software Engineering area, most tools and environments have been built individually, without attention in the reuse of development efforts. Moreover, there is a lack of works that propose reference architectures to these environments which can be influencing in the difficulties of evolution and integration that these environments have been suffered. In the same way, a diversity of tools has been also proposed in the Software Testing domain, making it possible the conduction of comparative studies of testing techniques and criteria. It is also important to highlight that works that discuss the development of testing tools in an effective way and based on reuse can not be found; in addition, there is a lack of adequate, recent and efficient reference architectures to that domain. Despite advantages of the Web as a platform to make available software systems, there are few initiatives of Software Engineering tools and environments. In this context, this work aims at investigating facilities to develop Software Engineering tools and environments for Web platform, aiming at low cost in development and maintenance. In particular, a reference architecture for Software Engineering environment is established, aiming at attempting the continuous evolution and facilities of use and integration required by these environments. This architecture is based on diverse mechanisms, such as aspect oriented programming, frameworks, ontologies and international standard ISO/IEC 12207. Following, a case study is conducted, aiming at establishing a reference architecture for Software Testing domain. Based on this case study experience, a preliminary process that involves the architectural specialization and instantiation to derive reference architectures for specific domains, such as analysis, design and testing, is established
180

[pt] MITIGAÇÃO PROATIVA DE VULNERABILIDADES EM SISTEMAS DA WEB BASEADOS EM PLUGIN / [en] PROACTIVE MITIGATION OF VULNERABILITIES IN PLUGIN-BASED WEB SYSTEMS

OSLIEN MESA RODRIGUEZ 12 May 2020 (has links)
[pt] Uma estratégia comum de linha de produtos de software envolve sistemas da Web baseados em plug-ins que suportam a incorporação simples e rápida de comportamentos personalizados, sendo amplamente adotados para criar aplicativos baseados na web. A popularidade dos ecossistemas que suportam o desenvolvimento baseado em plug-ins (como o WordPress) é, em grande parte, devido ao número de opções de personalização disponíveis como plug-ins contribuídos pela comunidade. Entretanto, as vulnerabilidades relacionadas a plug-ins tendem a ser recorrentes, exploráveis e difíceis de serem detectadas e podem levar a graves conseqüências para o produto personalizado. Portanto, é necessário entender essas vulnerabilidades para permitir a prevenção de ameaças de segurança relevantes. Neste trabalho, realizamos um estudo exploratório para caracterizar vulnerabilidades causadas por plug-ins em sistemas baseados na web, examinando os boletins de vulnerabilidade do WordPress catalogados pelo National Vulnerability Database e os patches associados, mantidos pelo repositório de plugins do WordPress. Identificamos os principais tipos de vulnerabilidades, o seu impacto e o tamanho do patch para corrigir a vulnerabilidade. Identificamos, também, os tópicos mais comuns relacionados à segurança discutidos entre os desenvolvedores do WordPress. Observamos que, embora as vulnerabilidades possam ter consequências graves e permanecerem despercebidas por muito tempo, elas geralmente podem ser atenuadas com pequenas alterações no código-fonte. A caracterização ajuda a fornecer uma compreensão de como tais vulnerabilidades se manifestam na prática e contribui com as novas gerações de ferramentas de teste de vulnerabilidades capazes de antecipar sua possível ocorrência. Esta pesquisa propõe uma ferramenta de suporte para mitigar a ocorrência de vulnerabilidades em sistemas baseados em plugins web, facilitando a descoberta e antecipação da possível ocorrência de vulnerabilidades. / [en] A common software product line strategy involves plug-in-based web systems that support the simple and rapid incorporation of custom behaviors and are widely adopted for building web-based applications. The popularity of ecosystems that support plug-in-based development (such as WordPress) is largely due to the number of customization options available as community-contributed plugins. However, plug-in related vulnerabilities tend to be recurring, exploitable and difficult to detect and can lead to serious consequences for the custom product. Therefore, these vulnerabilities must be understood to enable the prevention of relevant security threats. In this paper, we conduct an exploratory study to characterize plug-in vulnerabilities in web-based systems by examining the WordPress vulnerability bulletins cataloged by the National Vulnerability Database and the associated patches maintained by the WordPress plugin repository. We identify the main types of vulnerabilities, their impact, and the size of the patch to address the vulnerability. We have also identified the most common securityrelated topics discussed among WordPress developers. We note that while vulnerabilities can have serious consequences and remain unnoticed for a long time, they can often be mitigated with minor changes to source code. Characterization helps provide an understanding of how such vulnerabilities manifest themselves in practice and contributes to new generations of vulnerability testing tools that can anticipate their potential occurrence. This research proposes a support tool to mitigate the occurrence of vulnerabilities in web plugin based systems, facilitating the discovery and anticipation of the possible occurrence of vulnerabilities.

Page generated in 0.1127 seconds