Applying a semantic layer in a source code retrieval tool - Durão, Frederico Araujo (2008)
O reuso de software é uma área de pesquisa da engenharia de software que tem por objetivo prover melhorias na produtividade e qualidade da aplicação através da redução do esforço. Trata-se de reutilizar artefatos existentes, ao invés de construí-los do zero a fim de criar novas aplicações. Porém, para obter os benefícios inerentes ao reuso, alguns obstáculos devem ser superados como, por exemplo, a questão da busca e recuperação de componentes. Em geral, há uma lacuna entre a formulação do problema, na mente do desenvolvedor e a recuperação do mesmo no repositório, o que resulta em resultados irrelevantes diminuindo as chances de reuso. Dessa maneira, mecanismos que auxiliem na formulação das consultas e que contribuam para uma recuperação mais próxima à necessidade do desenvolvedor, são bastante oportunos para solucionar os problemas apresentados. Nesse contexto, este trabalho propõe a extensão de uma ferramenta de busca por palavra-chave através de uma camada semântica que tem por objetivo principal aumentar a precisão da busca e, conseqüentemente, aumentar as chances de reuso do componente procurado. A criação da camada semântica é representada basicamente por dois componentes principais: um para auxiliar o usuário na formulação da consulta, através do uso de uma ontologia de domínio, e outro para tornar a recuperação mais eficiente, através de uma indexação semântica dos componentes no repositório