Name: | Description: | Size: | Format: | |
---|---|---|---|---|
1.13 MB | Adobe PDF |
Authors
Abstract(s)
Modern society is nowadays evolving at a pace that has never been witnessed before. Regarding
this evolution, it can be also observed that the technological evolution has been one of its main
pillars. In this context, software systems have a crucial role and it is increasingly important to
ensure that these systems reach the market on time and with quality guarantees. In order to
ensure these goals, several new methodologies and software development environments have
been proposed, together with modern tools that enable software systems evolution and continuous
integration, as well as increasingly advanced strategies for software veri cation and
validation.
Concerning software veri cation and validation, which in different ways aim to ensure software
quality, design and execution of software tests play a key role. However, the constant evolution
of software system implies that test artifacts are able to evolve at the same pace. In fact,
these artifacts are indeed evolving fast as well, and this implies that it is needed to deal with
test suites of constantly increasing size.
A major challenge of modern software engineering has to do precisely with the need to develop
mechanisms that allow the software tests execution stage to imply less costs in terms of
time and money, but also of human effort. These mechanisms must necessarily achieve a reduction
in terms of costs without jeopardizing the quality of the software tests execution stage.
In this dissertation an automatic test case selection technique is proposed, which aims, in each
iteration of software test executions, to only select for execution test cases whose results might
be in uenced by the changes that have been made to the code of the software under test. The
proposed technique is based on static and dynamic dependency analysis between software tests
and the software code (and the code itself), as well as on the identi cation of the differences
between different software code versions.
The development, implementation and validation of the technique presented in this dissertation
were conducted in the industrial context of an international software house. Real development
scenarios were used to conduct experiments and validations, and the nal results demonstrated
that the proposed technique is effective in terms of its software fault detection capabilities and
also showed signi cant bene ts in what concerns the time spent running software tests.
As técnicas de visualização de dados contêm recursos vitais em várias áreas, desde a pesquisa até há área pro ssional. Representações e cazes estão frequentemente a contribuir para a compreensão do quadro geral, a partir de um grande volume de dados, às vezes permite novas descobertas ou para uma síntese e ciente. Devido há grande quantidade de dados que os computadores lidam nos dias de hoje, muitas técnicas modernas de visualização de dados foram desenvolvidas para lidar com os grandes conjuntos de dados, permitindo perceber características únicas. Na era da informação, os computadores (e os seus utilizadores) e as redes estão entre as maiores fontes de dados, embora eles também sejam utilizados no seu processamento e armazenamento. Muitos sistemas de monitorização de rede e dispositivos de segurança fazem uso de técnicas de visualização de dados tradicionais para reportar funcionalidades ou para fornecer informações pro ssionais sobre o estado dos dados. O âmbito deste trabalho insere-se no cruzamento dos campos, das técnicas de segurança de rede e de visualização dos dados. Os objectivos são estudar abordagens modernas para representar os dados, que podem actualmente ser utilizados em outras áreas, e aplicar uma dessas abordagens na visualização de tráfego de rede e ataques. Avaliar a sua utilidade das visualiza ções também era um objectivo, juntamente com a constituição de um grande conjunto de representações para várias classes de tráfego e ataques de rede clássicos. A técnica conhecida como Circos, amplamente utilizada para representações genéticas, foi aplicada para alcançar os objectivos deste programa de mestrado. Muitas representações para pelo menos 18 conjuntos de tráfego diferentes foram produzidas ao longo deste trabalho, com muitas analisadas detalhadamente nesta dissertação. Esses conjuntos, contendo tráfego gerados pelas aplicações contemporâneas e ataques clássicos de rede ou actividades de sondagem, foram seleccionados a partir de dois conjuntos de dados. De forma a produzir o Circos, um conjunto mínimo de características de tráfego foram identi cadas, e foram implementados vários scripts para automatizar o processo. Para a parte nal deste trabalho, uma experiência baseada na comparação (humana) entre nove conjuntos conhecidos e nove desconhecidos foram criados. Para demonstrar que as representações foram úteis para identi car as classes de tráfegos ou ataques. Durante a experiência, foi possível identi car correctamente oito, dos nove conjuntos (um dos ataques foi incorrectamente classi cado como tráfego Hypertext Transfer Protocol (HTTP)), comprovando a utilidade desta técnica nesta área.
As técnicas de visualização de dados contêm recursos vitais em várias áreas, desde a pesquisa até há área pro ssional. Representações e cazes estão frequentemente a contribuir para a compreensão do quadro geral, a partir de um grande volume de dados, às vezes permite novas descobertas ou para uma síntese e ciente. Devido há grande quantidade de dados que os computadores lidam nos dias de hoje, muitas técnicas modernas de visualização de dados foram desenvolvidas para lidar com os grandes conjuntos de dados, permitindo perceber características únicas. Na era da informação, os computadores (e os seus utilizadores) e as redes estão entre as maiores fontes de dados, embora eles também sejam utilizados no seu processamento e armazenamento. Muitos sistemas de monitorização de rede e dispositivos de segurança fazem uso de técnicas de visualização de dados tradicionais para reportar funcionalidades ou para fornecer informações pro ssionais sobre o estado dos dados. O âmbito deste trabalho insere-se no cruzamento dos campos, das técnicas de segurança de rede e de visualização dos dados. Os objectivos são estudar abordagens modernas para representar os dados, que podem actualmente ser utilizados em outras áreas, e aplicar uma dessas abordagens na visualização de tráfego de rede e ataques. Avaliar a sua utilidade das visualiza ções também era um objectivo, juntamente com a constituição de um grande conjunto de representações para várias classes de tráfego e ataques de rede clássicos. A técnica conhecida como Circos, amplamente utilizada para representações genéticas, foi aplicada para alcançar os objectivos deste programa de mestrado. Muitas representações para pelo menos 18 conjuntos de tráfego diferentes foram produzidas ao longo deste trabalho, com muitas analisadas detalhadamente nesta dissertação. Esses conjuntos, contendo tráfego gerados pelas aplicações contemporâneas e ataques clássicos de rede ou actividades de sondagem, foram seleccionados a partir de dois conjuntos de dados. De forma a produzir o Circos, um conjunto mínimo de características de tráfego foram identi cadas, e foram implementados vários scripts para automatizar o processo. Para a parte nal deste trabalho, uma experiência baseada na comparação (humana) entre nove conjuntos conhecidos e nove desconhecidos foram criados. Para demonstrar que as representações foram úteis para identi car as classes de tráfegos ou ataques. Durante a experiência, foi possível identi car correctamente oito, dos nove conjuntos (um dos ataques foi incorrectamente classi cado como tráfego Hypertext Transfer Protocol (HTTP)), comprovando a utilidade desta técnica nesta área.
Description
Keywords
Ataques Informáticos de Rede Circos Classes de Tráfego Monitorização de Tráfego de Rede Representação Gráfica dos Dados Técnicas de Visualização de Dados Modernas