Campo DC | Valor | Idioma |
dc.contributor.advisor | Almeida, Eduardo Santana de | - |
dc.contributor.author | Soares, Larissa Rocha | - |
dc.creator | Soares, Larissa Rocha | - |
dc.date.accessioned | 2020-12-04T03:47:07Z | - |
dc.date.available | 2020-12-04T03:47:07Z | - |
dc.date.issued | 2020-12-04 | - |
dc.date.submitted | 2019-02-21 | - |
dc.identifier.uri | http://repositorio.ufba.br/ri/handle/ri/32463 | - |
dc.description.abstract | Sistemas altamente configuráveis (também conhecidos como linhas de produtos de software)fornecem oportunidades significativas de reuso, uma vez que eles adaptam variantes
do sistema com base em um conjunto de features. Essas features podem interagir de maneiras indesejadas, o que pode resultar em falhas. Além disso, a maioria das interações
não é facilmente detectável, já que especificações de interações entre features geralmente não são definidas, especificadas e documentadas em um projeto de software.
O problema de interação entre features tem sido um assunto desafiador por anos.
Apesar da existência de estudos que mapeiam essas interações, ainda não há muitos trabalhos
sobre a compreensão de estratégias, atividades, artefatos e lacunas de pesquisa
para interações em sistemas configuráveis. Desta forma, esta tese provê inicialmente um
mapeamento sistemático de estudos por meio da análise de 40 trabalhos os quais foram
classificados de acordo com os estágios do ciclo de vida de desenvolvimento e a solução
de interação apresentada (detecção, resolução ou discussão de interações).
Análises recentes têm focado na detecção de erros de interação de features a partir de especificações globais, ou seja, especificações que todas as configurações de um sistema configurável precisam cumprir. No entanto, especificações no nível de features são geralmente negligenciadas e raramente documentadas. Neste cenário, muitas abordagens
não conseguem detectar todos os problemas de comportamento do sistema, especialmente
erros não cobertos por especificações globais e erros que não resultam em uma falha ou
outro comportamento facilmente observável.
Em vez de partir de um conjunto de especificações como a maioria das abordagens,
propomos inspecionar as interações de features à medida que são detectadas e classificálas
gradativamente como benignas ou problemáticas. Nossa abordagem e ferramenta,
VarXplorer, fornece um processo de inspeção que ajuda os desenvolvedores a distinguir
as interações intencionais das interações que podem levar a bugs. Usamos a execução
variacional para observar interações internas ao fluxo de controle e fluxo de dados de
sistemas altamente configuráveis e propomos gráficos de interação de features como uma
representação concisa de todas as interações entre pares de features.
Por fim, realizamos dois estudos empíricos para avaliar como o processo de inspeção
e os gráficos de interação de features podem ajudar os desenvolvedores a identificar interações
suspeitas. O primeiro é um experimento controlado que investiga e compara a
capacidade dos desenvolvedores ao identificar interações suspeitas com e sem o VarXplorer.
O segundo foca no processo iterativo de execução de casos de teste e como ele
proporciona uma análise de interações mais rápida e objetiva. | pt_BR |
dc.description.abstract | Highly configurable systems (as known as software product lines) provide significant reuse opportunities by tailoring system variants based on a set of features. Those features can interact in undesired ways which may result in faults. However, most interactions are not easily detectable as specifications of feature interactions are usually missing. The feature
interaction problem has been a challenging subject for years. Despite the existence of
studies to map out available evidence on feature interaction for single systems development, there is a lack of understanding on common strategies, activities, artifacts and
research gaps for interactions in configurable systems. Thus, this thesis initially gathered
systematic mapping study evidence by analyzing 40 feature interaction primary studies,
which were classified according to development lifecycle stages and the feature interaction solution presented, either detection, resolution or general analysis. Recent analyses
focused on detecting feature interaction bugs from global specifications, i.e., specifications that all configurations of a configurable system need to fulfill, such as requiring that each configuration does not crash. However, specifications at the feature level are usually missing and, then, many approaches may not detect all incorrect system behavior, specially bugs not covered by global specifications and bugs that do not result in a
crash or other easily observable behavior. Instead of starting from a set of specifications like most approaches, we propose to inspect feature interactions as they are detected and incrementally classify them as benign or problematic. We aim to provide an inspection process that helps developers to distinguish intended interactions from interactions that may lead to bugs. We use variational execution to observe internal interactions on control and data flow of highly configurable systems. To help developers understand these interactions, we propose feature-interaction graphs as a concise representation of all pairwise
interactions. We provide two analyses that provide additional details about interactions,
namely suppress and require interactions. Our approach and tool, VarXplorer, provide
an iterative analysis of feature interactions allowing developers to focus on suspicious
cases. Finally, we perform two empirical studies to evaluate the inspection process and
how feature interaction graphs can help users identify suspicious interactions. The first
study is a controlled experiment to investigate and compare the ability of users when
identifying suspicious interactions with and without VarXplorer, in a setting composed
of different systems, performing different tasks. The second study focuses on the iterative process of test cases execution and how it can be used for a faster and more objective feature interaction analysis. | pt_BR |
dc.language.iso | en | pt_BR |
dc.rights | Acesso Aberto | pt_BR |
dc.subject | Interação entre features | pt_BR |
dc.subject | Software configurável | pt_BR |
dc.subject | Especificação de interações entre features | pt_BR |
dc.subject | Execução ciente de variabilidade | pt_BR |
dc.subject | Engenharia de software | pt_BR |
dc.subject | Software - Desenvolvimento | pt_BR |
dc.subject | Linha de produtos de software | pt_BR |
dc.subject | Feature Interaction | pt_BR |
dc.subject | Configurable Software | pt_BR |
dc.subject | Feature Interaction Specification | pt_BR |
dc.subject | Variability-Aware Execution | pt_BR |
dc.subject | Software Engineering | pt_BR |
dc.subject | Software Product Lines | pt_BR |
dc.title | Feature interactions in highly configurable systems : a dynamic analysis approach with VarXplorer | pt_BR |
dc.type | Tese | pt_BR |
dc.contributor.advisor-co | Machado, Ivan do Carmo | - |
dc.contributor.advisor-co | Kästner, Christian | - |
dc.contributor.referees | Chavez, Christina von Flach Garcia | - |
dc.contributor.referees | Souza, Rodrigo Rocha Gomes e | - |
dc.contributor.referees | Ribeiro, Márcio de Medeiros | - |
dc.contributor.referees | Figueiredo, Eduardo Magno Lages | - |
dc.publisher.departament | Instituto de Matemática | pt_BR |
dc.publisher.departament | Departamento de Ciência da Computação | pt_BR |
dc.publisher.program | Ciência da Computação | pt_BR |
dc.publisher.initials | UFBA | pt_BR |
dc.publisher.country | brasil | pt_BR |
dc.subject.cnpq | Ciências da Computação | pt_BR |
dc.subject.cnpq | Engenharia de Software | pt_BR |
Aparece nas coleções: | Tese (PGCOMP)
|