TestDAS: Testing method for dynamically adaptive systems
Autor: | Santos, Ismayle de Sousa |
---|---|
Přispěvatelé: | Andrade, Rossana Maria de Castro, Santos Neto, Pedro de Alcântara dos |
Jazyk: | angličtina |
Rok vydání: | 2017 |
Předmět: | |
Zdroj: | Repositório Institucional da Universidade Federal do Ceará (UFC) Universidade Federal do Ceará (UFC) instacron:UFC |
Popis: | The adaptive behavior of Dynamically Adaptive Systems (DAS), such as Dynamic Software Product Lines (DSPLs), is typically designed using adaptation rules, which are context-triggered actions responsible for features activation and deactivation at runtime. This kind of software should have a correct specification at design time and should be tested to avoid unexpected behavior such as an undesired product configuration at runtime. The use of context and the large number of configurations are challenges related to DAS verification and validation. Therefore, methods and tools supporting these activities are needed to ensure the quality of adaptive systems. The literature addresses different aspects of DAS testing, but few work deals with changes in the software features configuration, and they did not focus on the adaptation rules during the adaptive mechanism testing. Also, there is a lack of formalism to model DAS that allows to reason on the actions triggered by adaptation rules over the DAS features. The focus on the adaptation rules is important because they define the adaptation logic and, thus, they are a potential source of design faults and adaptation failures at runtime. In this thesis, a method called TestDAS is proposed to address these gaps. It involves the model checking approach to identify faults in the adaptation rules design, and the generation of tests for validating the adaptive behavior of DAS. The method is based on a model of the adaptive behavior, called Dynamic Feature Transition System (DFTS), which specifies the DAS configurations and the context changes. Moreover, the TestDAS tool is implemented to support the TestDAS use, and a library called CONTroL is developed to support the test execution. The evaluation of TestDAS is performed using: a mutant analysis to evaluate the effectiveness of the model checking approach in the identification of design faults in DAS; a controlled experiment to compare tests generated by TestDAS with tests specified based on the tester’s experience; and an observational study to assess the feasibility of using the developed tools during the TestDAS activities. The results of the effectiveness evaluation show evidence that TestDAS helps in the identification of faults related to adaptation rules design. The experiment, in turn, provides evidence that TestDAS generates more tests and provides a better coverage of the DAS adaptive behavior than experience-based testing. Lastly, the observational study shows that the TestDAS tool and CONTroL can support the DAS testing and model checking. O comportamento adaptativo de Sistemas Dinamicamente Adaptáveis (DAS, acrônimo para Dynamically Adaptive Systems), tais como Linhas de Produto de Software Dinâmicas, é tipicamente especificado por meio de regras de adaptação, que definem ações sensíveis ao contexto responsáveis pela ativação e desativação de features em tempo de execução. Esse tipo de software tem que ter uma correta especificação em tempo de projeto e deve ser adequadamente testado para evitar comportamentos não esperados, como configurações de produto não desejadas em tempo de execução. Nesse cenário, o uso de informações de contexto e o grande número de configurações possíveis são desafios relacionados a verificação e validação de DAS. Dessa forma, métodos e ferramentas suportando essas atividades são necessários para garantir a qualidade de sistemas adaptativos. Na literatura, existem trabalhos abordando diferentes aspectos do teste de DAS, mas poucos deles lidam com mudanças na configuração de features do software, e eles não focam nas regras de adaptação durante o teste do mecanismo de adaptação. Além disso, existe uma carência de formalismos para especificar DAS que permitam raciocinar sobre as ações disparadas pelas regras de adaptação. O foco nas regras de adaptação é importante, porque elas definem a lógica de adaptação e, assim, são uma fonte potencial de faltas de design e de falhas que podem ocorrer em tempo de execução. Sendo assim, nesta tese é proposto um método de testes de DAS, chamado TestDAS, que envolve tanto uma abordagem de model checking (verificação de modelos) para identificar faltas de design, quanto a geração de testes para validar o comportamento adaptativo. Esse método é baseado em um modelo do comportamento adaptativo, chamado de Dynamic Feature Transition System (DFTS), que especifica as configurações do DAS e as mudanças de contexto. Adicionalmente foram implementadas a TestDAS tool, para apoiar o uso do TestDAS, e a biblioteca CONTroL, para auxiliar a execução dos testes. A avaliação do TestDAS, por sua vez, foi feita utilizando: uma análise de mutantes para avaliar a efetividade da abordagem de model checking na identificação de faltas no DAS; um experimento controlado para comparar os testes gerados pelo TestDAS e os testes criados com base na experiência de testadores; e uma prova de conceito para avaliar a viabilidade do uso das ferramentas desenvolvidas durante as atividades do TestDAS. Os resultados da avaliação da análise de mutantes indicam evidências de que o TestDAS ajuda na identificação de faltas de design presentes nas regras de adaptação. O experimento controlado fornece evidências de que o TestDAS gera mais testes e provê uma melhor cobertura do comportamento adaptativo de DAS do que o teste baseado na experiência dos testadores. Finalmente, a prova de conceito confirma que as ferramentas desenvolvidas, TestDAS tool e CONTroL, podem auxiliar no teste e no model checking de sistemas dinamicamente adaptáveis. |
Databáze: | OpenAIRE |
Externí odkaz: |