DSpace

RI UFBA >
Instituto de Matemática >
Programa de Pós-Graduação em Ciência da Computação (PGCOMP) >
Teses de Doutorado (PGCOMP) >

Please use this identifier to cite or link to this item: http://repositorio.ufba.br/ri/handle/ri/32463

Title: Feature interactions in highly configurable systems : a dynamic analysis approach with VarXplorer
Authors: Soares, Larissa Rocha
???metadata.dc.contributor.advisor???: Almeida, Eduardo Santana de
???metadata.dc.contributor.advisor-co???: Machado, Ivan do Carmo
Kästner, Christian
Keywords: Interação entre features;Software configurável;Especificação de interações entre features;Execução ciente de variabilidade;Engenharia de software;Software - Desenvolvimento;Linha de produtos de software;Feature Interaction;Configurable Software;Feature Interaction Specification;Variability-Aware Execution;Software Engineering;Software Product Lines
Issue Date: 4-Dec-2020
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.
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.
URI: http://repositorio.ufba.br/ri/handle/ri/32463
Appears in Collections:Teses de Doutorado (PGCOMP)

Files in This Item:

File Description SizeFormat
Tese_Final.pdf8.25 MBAdobe PDFView/Open
View Statistics

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

 

    Universidade Federal da Bahia

Contate-nos. Saiba mais sobre o RI/UFBA