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.