| Name: | Description: | Size: | Format: | |
|---|---|---|---|---|
| 672.25 KB | Adobe PDF |
Authors
Abstract(s)
In a world where software gradually plays a key role daily, a failure may bring unpleasant
consequences for its users. An example of a serious failure was the case Apple
iCloud security exploit in 2014 where several private photos of celebrities have been
accessed without permission[icl14a][icl14b]. Apart from economic and commercial implications,
these faults lead to loss of trust in software by users, thus leading to the
consequent search for an alternative and even result in leaving the old software for a
new alternative. To address these shortcomings, the software industry started to use
software testing to make sure that the software contains the minimum possible failures
before is deployment.
Software tests are used to analyse the program, namely to search some bugs. This
analysis can be done without program execution (static analysis) or during execution
(dynamic analysis). Static analysis tools can be used to check for potential execution of
the program that have not been prematurely aborted due to unexpected event at runtime,
not ensuring that the program will display the correct result. We studied some
static analysis tools, JSFlow, JSPrime and TAJS, which analyse JavaScript code. These
tools have been modified so they can be integrated into the Nibiru framework.
Nibiru is a modular framework that aims to help in the implementation of software
testing. It uses a micro-services architecture, enabling the use of multiple programming
languages in his modules and has the ability to enable the implementation of its modules
on multiple machines. So far the Nibiru has three operating modules and its ready to
start growing with the community, so they can contribute in the construction of new
modules or make small adjustments on the existing testing software to integrate the
Nibiru framework.
Num mundo onde cada vez mais o software tem um papel fundamental nas atividades do dia-a-dia, uma falha pode trazer consequências desagradáveis para os seus utilizadores. Como exemplo de uma falha grave, temos o caso Apple iCloud security exploit em 2014 [icl14a][icl14b], onde várias fotos de celebridades foram acedidas sem permissão. Para além de repercussões económicas e comerciais estas falhas levam à perca de confiança no software por parte dos utilizadores, levando assim à consequente procura de alternativas ao mesmo, podendo até resultar no abandono do software antigo. Para colmatar estas falhas, hoje em dia a indústria cada vez aposta mais nos testes de software para certificar-se que o software contém o mínimo de falhas possíveis antes de sair para o mercado. Os testes de software servem para analisar o programa, nomeadamente na obtenção de bugs. Esta análise pode ser feita sem execução do programa (análise estática) ou durante a sua execução (análise dinâmica). As ferramentas de análise estática são utilizadas para verificar se existem potenciais execuções do programa que possam falhar durante a sua execução devido a eventos inesperados, isto faz com que o programa apresente um resultado incorreto ou até mesmo bloqueie. Foram estudadas algumas ferramentas de análise estática, JSFlow, JSPrime e TAJS, que analisam código JavaScript. Estas ferramentas foram modificadas para serem integradas na framework Nibiru. O Nibiru é uma framework modular que tem como intuito ajudar na execução de testes de software. Esta utiliza uma arquitetura de micro-serviços, possibilitando o uso de múltiplas linguagens de programação nos seus módulos e tem a capacidade de possibilitar a execução dos seus módulos em várias máquinas. Até ao momento o Nibiru conta com três módulos operacionais, encontrando-se pronto para crescer com a comunidade informática, podendo esta contribuir na construção de novos módulos.
Num mundo onde cada vez mais o software tem um papel fundamental nas atividades do dia-a-dia, uma falha pode trazer consequências desagradáveis para os seus utilizadores. Como exemplo de uma falha grave, temos o caso Apple iCloud security exploit em 2014 [icl14a][icl14b], onde várias fotos de celebridades foram acedidas sem permissão. Para além de repercussões económicas e comerciais estas falhas levam à perca de confiança no software por parte dos utilizadores, levando assim à consequente procura de alternativas ao mesmo, podendo até resultar no abandono do software antigo. Para colmatar estas falhas, hoje em dia a indústria cada vez aposta mais nos testes de software para certificar-se que o software contém o mínimo de falhas possíveis antes de sair para o mercado. Os testes de software servem para analisar o programa, nomeadamente na obtenção de bugs. Esta análise pode ser feita sem execução do programa (análise estática) ou durante a sua execução (análise dinâmica). As ferramentas de análise estática são utilizadas para verificar se existem potenciais execuções do programa que possam falhar durante a sua execução devido a eventos inesperados, isto faz com que o programa apresente um resultado incorreto ou até mesmo bloqueie. Foram estudadas algumas ferramentas de análise estática, JSFlow, JSPrime e TAJS, que analisam código JavaScript. Estas ferramentas foram modificadas para serem integradas na framework Nibiru. O Nibiru é uma framework modular que tem como intuito ajudar na execução de testes de software. Esta utiliza uma arquitetura de micro-serviços, possibilitando o uso de múltiplas linguagens de programação nos seus módulos e tem a capacidade de possibilitar a execução dos seus módulos em várias máquinas. Até ao momento o Nibiru conta com três módulos operacionais, encontrando-se pronto para crescer com a comunidade informática, podendo esta contribuir na construção de novos módulos.
Description
Keywords
Automatização de Testes Jsflow Jsprime Nibiru Qchecker Tajs Testes de Segurança Testes de Software
