Use este identificador para citar ou linkar para este item: https://repositorio.ufba.br/handle/ri/32463
Registro completo de metadados
Campo DCValorIdioma
dc.contributor.advisorAlmeida, Eduardo Santana de-
dc.contributor.authorSoares, Larissa Rocha-
dc.creatorSoares, Larissa Rocha-
dc.date.accessioned2020-12-04T03:47:07Z-
dc.date.available2020-12-04T03:47:07Z-
dc.date.issued2020-12-04-
dc.date.submitted2019-02-21-
dc.identifier.urihttp://repositorio.ufba.br/ri/handle/ri/32463-
dc.description.abstractSistemas 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.abstractHighly 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.isoenpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectInteração entre featurespt_BR
dc.subjectSoftware configurávelpt_BR
dc.subjectEspecificação de interações entre featurespt_BR
dc.subjectExecução ciente de variabilidadept_BR
dc.subjectEngenharia de softwarept_BR
dc.subjectSoftware - Desenvolvimentopt_BR
dc.subjectLinha de produtos de softwarept_BR
dc.subjectFeature Interactionpt_BR
dc.subjectConfigurable Softwarept_BR
dc.subjectFeature Interaction Specificationpt_BR
dc.subjectVariability-Aware Executionpt_BR
dc.subjectSoftware Engineeringpt_BR
dc.subjectSoftware Product Linespt_BR
dc.titleFeature interactions in highly configurable systems : a dynamic analysis approach with VarXplorerpt_BR
dc.typeTesept_BR
dc.contributor.advisor-coMachado, Ivan do Carmo-
dc.contributor.advisor-coKästner, Christian-
dc.contributor.refereesChavez, Christina von Flach Garcia-
dc.contributor.refereesSouza, Rodrigo Rocha Gomes e-
dc.contributor.refereesRibeiro, Márcio de Medeiros-
dc.contributor.refereesFigueiredo, Eduardo Magno Lages-
dc.publisher.departamentInstituto de Matemáticapt_BR
dc.publisher.departamentDepartamento de Ciência da Computaçãopt_BR
dc.publisher.programCiência da Computaçãopt_BR
dc.publisher.initialsUFBApt_BR
dc.publisher.countrybrasilpt_BR
dc.subject.cnpqCiências da Computaçãopt_BR
dc.subject.cnpqEngenharia de Softwarept_BR
Aparece nas coleções:Tese (PGCOMP)

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
Tese_Final.pdf8,25 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.