Skip navigation
Please use this identifier to cite or link to this item: https://repositorio.unb.br/handle/10482/22533
Files in This Item:
File Description SizeFormat 
2015_MarcosCésardeOliveira.pdf2,05 MBAdobe PDFView/Open
Title: Exploring the use of co-change clusters in software comprehension tasks
Authors: Oliveira, Marcos César de
Orientador(es):: Almeida, Rodrigo Bonifácio de
Coorientador(es):: Ramos, Guilherme Novaes
Assunto:: Desenvolvimento de software
Engenharia reversa
Mineração de dados (Computação)
Issue Date: 14-Feb-2017
Citation: OLIVEIRA, Marcos César de. Exploring the use of co-change clusters in software comprehension tasks. 2015. xiii, 76 f., il. Dissertação (Mestrado Profissional em Computação Aplicada)—Universidade de Brasília, Brasília, 2015.
Abstract: O desenvolvimento de software orientado a características (FOSD) é um paradigma que pode ser usado, entre outros, para estruturar um sistema de software em torno de características que podem representar pequenas funcionalidades do software bem como requisitos não funcionais. Além do seu papel na estruturação do software, o uso de FOSD habilita a ativação e desativação de features individuais em uma dada configuração de software. Essa vantagem pode ser útil em cenários onde a variabilidade do software é necessária. Por outro lado, a adoção da abordagem FOSD pode ser feita em um sistema de software existente, torna-se necessária a aplicação de alguma técnica de engenharia reversa para extração de features de uma base de código legada, bem como o mapeamento dessas features para suas implementações. Essa dissertação apresenta uma nova abordagem para auxiliar nessa atividade de engenharia reversa, a qual relaciona dados históricos extraídos de sistemas de controle de tarefas de desenvolvimento e de mudanças em código-fonte. A abordagem se baseia em técnicas de Mineração de Repositórios de Software (MSR), especificamente o agrupamento baseado em dependências evolucionárias entre elementos do código-fonte, que leva ao descobrimento de grupos de co-mudança. Assim, o objetivo deste trabalho é descobrir as propriedades dos grupos de co-mudança que podem ser úteis no processo de extração de features. Especificamente, um conjunto de termos, associados com os grupos, que revelam conceitos que podem ajudar a identificar features. De acordo com os resultados obtidos, os grupos de co-mudança não possuem vantagem quando usa- dos como unidades de modularização, mas podem revelar novas dependências que são ocultas ao desenvolvedor. Também mostram que os grupos de co-mudança possuem coesão conceitual, e que podem ser usados para extrair conceitos e termos associados com eles. Por fim, os conceitos extraídos dos grupos de co-mudança podem ser usados para construir um mapeamento entre eles e o código-fonte, e que podem ser usados como uma lista de sementes de entrada para métodos de expansão de features.
Abstract: Feature-oriented software development (FOSD) is a paradigm that can be used, among others, to structure a software system around the feature concept that can represents small functionalities and non-functional requirements. Besides their role in software structure, FOSD enables the activation and deactivation of individual features in a given configuration of the software. This advantage can be useful in scenarios where the variability of the software is required. On the other hand, the adoption of FOSD can be done for an existing software system, thus, becomes necessary to apply some reverse engineering technique to extract features from a legacy code base, and also the mapping between these features and their implementations. This dissertation presents a new approach to aid in the reverse engineering activity, that relates historical data from issue tracking systems and source-code changes. The approach relies upon Mining Software Repositories (MSR) techniques, specifically the clustering based on co-evolutionary dependencies between source-code elements, which leads to the discover of co-change clusters. Thus, the goal of this work is to discover the properties of the co-change clusters that can be useful in a feature extraction process. Specifically, a set of terms, associated with the clusters, which reveal concepts that can help to identify features. According to the study results, co-change clusters have no advantage when used as a modular unit, but can reveal new dependencies that is hidden to the developer. They also show that the co-change clusters have conceptual cohesion, and can be used to extract concepts and the terms associated with them. In the end, the concepts extracted from co-change clusters can be used to build a mapping from them and the source-code, and that can be used as a input seed list to feature expansion methods.
Description: Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2015.
Licença:: A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor com as seguintes condições: Na qualidade de titular dos direitos de autor da publicação, autorizo a Universidade de Brasília e o IBICT a disponibilizar por meio dos sites www.bce.unb.br, www.ibict.br, http://hercules.vtls.com/cgi-bin/ndltd/chameleon?lng=pt&skin=ndltd sem ressarcimento dos direitos autorais, de acordo com a Lei nº 9610/98, o texto integral da obra disponibilizada, conforme permissões assinaladas, para fins de leitura, impressão e/ou download, a título de divulgação da produção científica brasileira, a partir desta data.
DOI: http://dx.doi.org/10.26512/2015.09.D.22533
Appears in Collections:MPCA - Mestrado Profissional em Computação Aplicada (Dissertações)

Show full item record Recommend this item " class="statisticsLink btn btn-primary" href="/handle/10482/22533/statistics">



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