Autores

5803
Talita Lopes Gomes
2677,2483
5804
2677,2483

Informações:

Publicações do PESC

Título
Reuse Miner: Mining Framework Instantiation Processes
Linha de pesquisa
Engenharia de Software
Tipo de publicação
Dissertação de Mestrado
Número de registro
Data da defesa
22/6/2015
Resumo
Reutilização de software é uma parte essencial do desenvolvimento de software cujo objetivo principal é obter melhorias na qualidade do produto final juntamente com um tempo de desenvolvimento reduzido. Uma das tecnologias disponíveis para a reutilização de software considerando aplicações de certo domínio são os frameworks orientados a objetos. Estes frameworks possuem duas partes principais: um cerne imutável, compartilhado por todas as aplicações feitas a partir deste framemork; e interfaces customizáveis – hotspots –, usadas pelos desenvolvedores para incluir aspectos específicos de suas aplicações. Devido à esta flexibilidade, frameworks possuem uma estrutura complexa que pode impactar sua curva de aprendizado. É de extrema importância para o sucesso de um framework, que o desenvolvedor seja capaz de identificar e usar os hotspots  de interesse.
Neste contexto, esta dissertação apresenta o Reuse Miner, uma abordagem para descobrir processos de instanciação de frameworks a partir do código de aplicações existentes. O processo descoberto contém hotspots e também informações sobre hotspots que são opcionais e sobre os que são repetíveis. Este processo é representado usando RDL (Reuse Description Language), o que tem dois objetivos principais: i) complementar a documentação do framework; ii) prover suporte semi-automático ao processo de instanciação com o uso da ReuseTool, ferramenta capaz de guiar o processo de instanciação a partir das informações em um processo RDL.

Abstract
Software reuse is an essential part of software development that targets improvements in the quality of the resulting software with reduced development time.  Object-oriented frameworks are a software reuse technology that targets the reuse for applications of a certain domain, offering a non-customizable core implementation and flexible parts – hot spots – that should be augmented with developer’s needs. To achieve such flexibility, frameworks have a complex structure which impacts on its understandability and, in turn, can impact in the learning curve. It is crucial for the framework success that developers can identify the hotspots of interest.
In this context, this dissertation proposes the Reuse Miner, an approach to mine instantiation processes from application code. The mined instantiation process contains not only the framework hotspots, but also information about what is optional and what is repeatable. This process is represented using RDL (Reuse Description Language) which has two main purposes: I) complement the framework documentation; ||) offer the possibility of semi-automating the instantiation process with the use of the ReuseTool, a tool to support framework instantiations based on the steps described in the RDL specification.

Topo