• Nenhum resultado encontrado

Modelo de Recuperação da Rastreabilidade de Artefatos de Software

N/A
N/A
Protected

Academic year: 2021

Share "Modelo de Recuperação da Rastreabilidade de Artefatos de Software"

Copied!
6
0
0

Texto

(1)

Modelo de Recuperac¸˜ao da Rastreabilidade de Artefatos de

Software

Autor: Felipe C´ezar de Castro Antunes1, Marcelo de Almeida Maia, D.Sc.1

1Programa de P´os-Graduac¸˜ao em Ciˆencia da Computac¸˜ao

Universidade Federal do Uberlˆandia (UFU) Uberlˆandia – MG – Brasil

cezarfelipe@gmail.com, marcmaia@facom.ufu.br N´ıvel: Mestrado

Ano de ingresso no programa: 09 de Marc¸o de 2006 ´

Epoca esperada de conclus˜ao: 08 de Marc¸o de 2009

Resumo. Este trabalho prop˜oe o desenvolvimento de um modelo para descoberta de links de rastreabilidade entre artefatos de software, baseado em t´ecnicas de recuperac¸˜ao de informac¸˜ao, especificamente a Indexac¸˜ao Semˆantica Latente - LSI. Para aumentar a qualidade dos links descobertos prop˜oe-se o enriquecimento da t´ecnica LSI com informac¸˜oes semˆanticas dos artefatos. Este enriquecimento se dar´a atrav´es de um modelo semi-autom´atico, onde a equipe de desenvolvimento fornece manualmente informac¸˜oes sobre a estrutura dos artefatos e como eles se organizam semanticamente no software.

Palavras-Chave. Recuperac¸˜ao da Rastreabilidade, Indexac¸˜ao Semˆantica Latente, Artefatos de Software.

(2)

1. Caracterizac¸˜ao do Problema

No decorrer do desenvolvimento de um software s˜ao produzidos diversos artefatos, como: do-cumentos de requisitos de projeto; c´odigo fonte; diagramas; logs de erros; etc. A quantidade de artefatos gerados durante o ciclo de vida do software tende a aumentar em sistemas maiores e mais complexos. Outro fator que influencia o n´umero de artefatos ´e o uso de modelos de qualidade como por exemplo, CMMI[Ahern et al. 2001].

A cada nova etapa do ciclo de vida do software, os refinamentos e transformac¸˜oes pro-duzem novos artefatos que preservam uma relac¸˜ao de rastreabilidade. Essa relac¸˜ao entre dois ou mais artefatos indica o grau de influˆencia que um artefato teve na existˆencia de outro, podendo ser de predecessor-sucessor ou de mestre-subordinado [IEEE-Std-610.12-1990 1990].

Atrav´es da rastreabilidade de artefatos ´e poss´ıvel descrever e acompanhar a vida de um artefato durante o ciclo de vida do software em ambas as direc¸˜oes, avante e reversa[e Anthony Finkelstein 1994].

O estabelecimento da rastreabilidade de artefatos contribui com diversas tarefas do ciclo de vida do software, tais como: compreens˜ao e manutenc¸˜ao de programas, reconstruc¸˜ao de requisitos, an´alise de impacto, reuso de software[Antoniol 2002].

A rastreabilidade de artefatos pode ser estabelecida pela pr´opria equipe de desenvolvi-mento, onde os links que indicam a relac¸˜ao entre os artefatos s˜ao fornecidos durante o processo de desenvolvimento. Essa abordagem tem como desafio a manutenc¸˜ao da rastreabilidade du-rante todo o ciclo de vida do software. O suporte `a manutenc¸˜ao da rastreabilidade de artefatos ainda que importante para o desenvolvimento de software, n˜ao ´e implementado de forma satisfa-t´oria pelas ferramentas contemporˆaneas de desenvolvimento, influenciando na baixa qualidade dos sistemas produzidos[Lucia et al. 2007].

Temos tamb´em outra abordagem que trabalha com a hip´otese de que os links n˜ao foram fornecidos durante o desenvolvimento. Neste caso, a rastreabilidade deve ser recu-perada a partir dos artefatos dispon´ıveis. Pesquisas recentes [Antoniol 2002, Egyed 2002, Marcus and Maletic 2003, Murphy 2001, Richardson and Green 2004] discutem m´etodos e modelos para se recuperar os links de rastreabilidade no contexto da engenharia de software. Uma tendˆencia que vem se consolidando ´e a aplicac¸˜ao de t´ecnicas recuperac¸˜ao de informac¸˜ao na descoberta de links de rastreabilidade de artefatos de software. Isto ´e poss´ıvel uma vez que a maioria da documentac¸˜ao de software consiste de descric¸˜oes textuais dos artefatos.

Essa estrat´egia ´e promissora, pois h´a um ganho de produtividade significativo na comparac¸˜ao com a recuperac¸˜ao manual da rastreabilidade, entretanto ela enfrenta desafios, pois se produz um n´umero grande de links falsos positivos, necessitando da intervenc¸˜ao humana na validac¸˜ao da rastreabilidade encontrada [Lucia et al. 2007]. Em sistemas de grande porte 1 onde o n´umero de artefatos ´e enorme, a tarefa de validac¸˜ao dos links pode tornar invi´avel todo processo.

Normalmente o conhecimento semˆantico que a equipe de desenvolvimento acumulou sobre os artefatos ´e ignorado pelas t´ecnicas exclusivamente autom´aticas de recuperac¸˜ao da rastreabilidade[Lucia et al. 2007]. Entretanto, ele representa a vis˜ao de quem criou os artefatos, dando ind´ıcios dos fatores que motivaram sua criac¸˜ao. Portanto, sua incorporac¸˜ao ao processo pode aumentar a qualidade dos links de rastreabilidades produzidos.

Nesse sentido, este trabalho prop˜oe o desenvolvimento de um modelo para descoberta 1

Nosso trabalho considera que para um sistema ser classificado como de grande porte, o n´umero de linhas de c´odigo deve chegar as centenas de milhares

(3)

de links de rastreabilidade entre artefatos de software, baseado em t´ecnicas de recuperac¸˜ao de informac¸˜ao, especificamente a Indexac¸˜ao Semˆantica Latente - LSI. Para aumentar a qualidade dos links descobertos prop˜oe-se o enriquecimento da t´ecnica LSI com informac¸˜oes semˆanticas dos artefatos. Este enriquecimento se dar´a atrav´es de um modelo semi-autom´atico, onde a equipe de desenvolvimento fornece manualmente informac¸˜oes sobre a estrutura dos artefatos e como eles se organizam semanticamente no software.

2. Objetivos

O objetivo principal deste projeto ´e propor um modelo de recuperac¸˜ao da rastreabilidade de artefatos de software. Os objetivos espec´ıficos deste projeto s˜ao os seguintes:

1. Estudo da viabilidade de aplicar t´ecnicas de recuperac¸˜ao de informac¸˜ao, mais especi-ficamente a t´ecnica de Indexac¸˜ao Semˆantica Latente - LSI [Deerwester et al. 1990], na recuperac¸˜ao autom´atica da rastreabilidade de artefatos de software.

2. Utilizac¸˜ao do conhecimento semˆantico dos desenvolvedores para estruturac¸˜ao dos artefatos;

3. Uso da estrutura dos artefatos na atribuic¸˜ao de pesos aos conte´udos, de forma a aumentar a qualidade dos links de rastreabilidade recuperados.

4. Desenvolvimento de uma ferramenta para aux´ılio na recuperac¸˜ao da rastreabilidade de artefatos de software.

5. Validac¸˜ao do modelo proposto atrav´es de um estudo de caso em uma aplicac¸˜ao de grande porte.

3. Trabalhos Relacionados

Este projeto foi fundamentado em outros trabalhos que investigam a recuperac¸˜ao da ras-treabilidade de artefatos, destacando pesquisas que aplicavam t´ecnicas de recuperac¸˜ao informac¸˜ao(RI)[Dumais 1991] na descoberta de links de rastreabilidade.

Em [Antoniol 2002] s˜ao apresentados dois m´etodos baseados em modelos de RI, proba-bil´ıstico e o modelo de espac¸o vetorial. Este estudo confronta os dois m´etodos utilizando dois estudos de caso, os resultados mostram que o desempenho de ambos ´e similar, desde que seja feita uma an´alise morfol´ogica preliminar ( stemming) sobre termos contidos nos artefatos.

As t´ecnicas de RI podem ser empregadas em diferentes artefatos de software, [Antoniol et al. 2000] opta pelo espac¸o vetorial para recuperar links de rastreabilidade entre as requisic¸˜oes de manutenc¸˜ao e os documentos de software impactados. J´a [Hayes 2004] uti-liza desse mesmo modelo para encontrar a rastreabilidade entre requisitos, outra contribuic¸˜ao desse autor foi sugerir como forma de melhorar o desempenho o uso das palavras chaves dos documentos.

O conhecimento semˆantico reunido pela equipe de desenvolvimento pode contribuir no processo de recuperac¸˜ao da rastreabilidade. Fica mais claro esse ganho no trabalho de [Cleland-Huang 2005] onde se propˆos melhorar o desempenho da rastreabilidade incorporando trˆes diferentes estrat´egias: modelagem hier´arquica da nomenclatura; clusterizac¸˜ao l´ogica dos artefatos; e poda semi-autom´atica na rede probabil´ıstica. Todas elas agregam semˆantica ao modelo probabil´ıstico.

A Indexac¸˜ao Semˆantica Latente (do inglˆes Lantent Semantic Indexing- LSI) consiste em uma t´ecnica autom´atica que analisa as co-ocorrˆencias de termos em bases textuais, buscando en-contrar relacionamentos latentes entre termos em documentos distintos[Deerwester et al. 1990]. Esse m´etodo assume que existe uma estrutura semˆantica oculta(latente), subjacente aos dados,

(4)

na utilizac¸˜ao dos termos nos documentos. Tal estrutura ´e parcialmente obscurecida pela aleato-riedade da escolha de termos. Ou seja, o fato de se escolher uma palavra individual afeta parcialmente na semˆantica da recuperac¸˜ao. Essa escolha ignora a correlac¸˜ao entre as palavras no documento, o LSI busca preservar essa semˆantica em sua recuperac¸˜ao e indexac¸˜ao.

O trabalho de [Marcus and Maletic 2003] utiliza de estudos de casos similares a [Antoniol 2002] para comparar o desempenho do m´etodo de Indexac¸˜ao Semˆantica Latente -LSI [Deerwester et al. 1990] com m´etodos baseados no modelo de espac¸o vetorial e proba-bil´ıstico. Este trabalho demonstrou que LSI tem um desempenho superior, por´em ´e necess´ario o uso de t´ecnicas de stemming .

A pesquisa de [Lucia et al. 2004b] tamb´em aplica LSI para recuperar links de rastre-abilidade entre diferentes tipos de artefatos. Posteriormente [De Lucia 2005] essa t´ecnica ´e incorporadas `a ferramenta de manutenc¸˜ao de rastreabilidade ADAMS [Lucia et al. 2004a].

Apesar do emprego de RI na recuperac¸˜ao de rastreabilidade ter alcanc¸ado resultados sig-nificativos, pesquisas como [Lucia et al. 2006] argumentam que ´e impratic´avel encontrar todos os links corretos. Neste mesmo trabalho se prop˜oe uma abordagem incremental na recuperac¸˜ao da rastreabilidade. Ainda segundo[Lucia et al. 2007] falhas nas descric¸˜oes dos artefatos resul-tam em deficiˆencias na rastreabilidade.

Como visto, resultados signicativos tˆem sido alcanc¸ados por autores que aplicam mode-los baseadas em RI, em especial a t´ecnica LSI, na recuperac¸˜ao de rastreabilidades de artefatos de software, outra abordagem promissora identificada consiste em incorporar informac¸˜oes sobre a semˆantica dos artefatos no processo de recuperac¸˜ao. Al´em disso, desafios como encontrar um numero maior de links corretos abrem oportunidades para novos trabalhos.

4. Caracterizac¸˜ao da Contribuic¸˜ao

Ao final do trabalho, espera-se obter um modelo de recuperac¸˜ao da rastreabilidade de artefatos de software que demonstre a viabilidade de se aplicar t´ecnicas de recuperac¸˜ao de informac¸˜ao de informac¸˜ao na descoberta de links de rastreabilidades, em um sistema de grande porte.

Na figura 1 ´e apresentado o modelo proposto neste trabalho:

Figure 1. Modelo de Recuperac¸ ˜ao da Rastreabilidade de Artefatos de Software

O m´odulo de Estruturac¸˜ao dos Artefatos recebe da equipe de desenvolvimento informac¸˜oes sobre semˆantica dos artefatos. Nele uma classificac¸˜ao manual dos artefatos ´e real-izada. As classes buscam agrupar os artefatos por suas funcionalidades e pela similaridades na estrutura de seus conte´udos. Este m´odulo tem como sa´ıda uma estrutura de pesos que evidencie as informac¸˜oes mais relevantes contidas nos artefatos.

(5)

in-dicado pela Estrutura de pesos. Tamb´em ´e aplicada a t´ecnica de Stemming, e eliminadas as Stopwords. Os links de rastreabilidades s˜ao obtidos pelo m´odulo de recuperac¸˜ao de informac¸˜ao. A t´ecnica utilizada ´e a de Indexac¸˜ao semˆantica latente-LSI.

Acredita-se que o modelo proposto produza links de rastreabilidade confi´aveis, ou seja, que o numero de falsos positivos/negativos n˜ao comprometa o desempenho do processo de descoberta da rastreabilidade. Al´em disso, sera constru´ıdo um prot´otipo de uma ferramenta que implemente as funcionalidades descritas no modelo.

5. Etapas e Estado Atual do Trabalho

Esse trabalho prop˜oe fases espec´ıficas a fim de atingir seus objetivos:

• Etapa 1: An´alise das abordagens existentes. Esta etapa visa proporcionar maior fa-miliaridade com conceitos relacionados `a recuperac¸˜ao da rastreabilidade de artefatos de software. Para isso ser´a conduzida uma revis˜ao bibliogr´afica a fim de identificar e caracterizar as abordagens existentes. Tal estudo permitir´a explicitar as carˆencias e dificuldades de se recuperar a rastreabilidades de artefatos de software, possibilitando construir hip´oteses para uma soluc¸˜ao.

• Etapa 2: Proposta de modelo. O modelo proposto ´e apresentado detalhando-se todos os seus componentes e como esses atingem os objetivos do trabalho quando integra-dos. Este tem por finalidade recuperar links de rastreabilidade dos artefatos de software usando t´ecnicas de recuperac¸˜ao de informac¸˜ao. O modelo ser´a enriquecido pelo uso da semˆantica dos artefatos fornecida pelo usu´ario durante o processo. Teremos ao fim dessa fase um modelo semi-autom´atico de recuperac¸˜ao da rastreabilidade de artefatos de software.

• Etapa 3: Implementac¸˜ao de uma ferramenta de auxilio. Ap´os a criac¸˜ao do modelo de recuperac¸˜ao da rastreabilidade de artefatos de software, ser´a desenvolvido um prot´otipo que aplique as t´ecnicas propostas no modelo e auxilie o usu´ario a manuse´a-lo.

• Etapa 4: Validac¸˜ao do modelo com estudo de caso. Um estudo de caso ser´a usado na an´alise da efic´acia do modelo proposto, portanto sua escolha ´e fundamental no projeto. Um fator determinante ´e a disponibilidade dos artefatos, quanto maior diversidade dos artefatos dispon´ıveis melhor ser´a a qualidade da validac¸˜ao do modelo.

• Etapa 5: An´alise dos resultados obtidos. Posteriormente ser´a realizada uma interpretac¸˜ao dos resultados obtidos a partir da experimentac¸˜ao. As an´alises aqui feitas tem a finalidade de retroalimentar poss´ıveis melhorias ou ent˜ao sugerir futuros trabalhos. Por fim, ser˜ao produzidos artigos e relat´orios divulgando os resultados.

At´e o momento em que esta proposta foi escrita, o projeto encontra-se em sua segunda etapa.

6. Avaliac¸˜ao dos Resultados

A avaliac¸˜ao deste trabalho ocorrer´a atrav´es de um estudo comparativo entre os links de rastre-abilidade dos artefatos alc¸ados pelo modelo proposto e os obtidos por recuperac¸˜ao manual da rastreabilidade. Um estudo de caso ser´a realizado, onde os dados coletados ser˜ao submetidos a m´etricas de precis˜ao (precision) e revocac¸˜ao (recall) para a an´alise estat´ıstica e validac¸˜ao das hip´oteses do projeto.

References

Ahern, D. M., Turner, R., and Clouse, A. (2001). CMMI Distilled: A Practical Introduction to Integrated Process Improvement. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.

(6)

Antoniol, G., Canfora, G., Casazza, G., and de Lucia, A. (2000). Identifying the starting impact set of a maintenance request: A case study. page 227.

Antoniol, G.; Canfora, G. C. G. D. L. A. M. E. (Oct 2002). Recovering traceability links between code and documentation. Transactions on Software Engineering, 28(10):970–983. Cleland-Huang, J.; Settimi, R. C. D. X. Z. (29 Aug.-2 Sept. 2005). Utilizing supporting evidence

to improve dynamic requirements traceability. Requirements Engineering, 2005. Proceed-ings. 13th IEEE International Conference on, pages 135–144.

De Lucia, A.; Fasano, F. O. R. T. G. (21-23 March 2005). Adams re-trace: A traceability recovery tool. Software Maintenance and Reengineering, 2005. CSMR 2005. Ninth European Conference on, pages 32–41.

Deerwester, S. C., Dumais, S. T., Landauer, T. K., Furnas, G. W., and Harshman, R. A. (1990). Indexing by latent semantic analysis. Journal of the American Society of Information Sci-ence, 41(6):391–407.

Dumais, S. T. (1991). Improving the retrieval of information from external sources. Behavior Research Methods, Instruments and Computers, 23(2):229–236.

e Anthony Finkelstein, O. G. (1994). An analysis of the requirements traceability problem. International Conference on Requirements Engineering, pages 94–101.

Egyed, A.; Grunbacher, P. (2002). Automating requirements traceability: Beyond the record and replay paradigm. Automated Software Engineering, 2002. Proceedings. ASE 2002. 17th IEEE International Conference on, pages 163–171.

Hayes, J.H.; Dekhtyar, A. S. S. H. S. (6-11 Sept. 2004). Helping analysts trace requirements: an objective look. Requirements Engineering Conference, 2004. Proceedings. 12th IEEE International, pages 249–259.

IEEE-Std-610.12-1990 (1990). Ieee standard glossary of software engineering terminology. Technical report, IEEE.

Lucia, A. D., Fasano, F., Francese, R., and Tortora, G. (2004a). Adams: an artefact-based process support system. pages 31–36.

Lucia, A. D., Fasano, F., Oliveto, R., and Tortora, G. (2004b). Enhancing an artefact manage-ment system with traceability recovery features. pages 306–315.

Lucia, A. D., Fasano, F., Oliveto, R., and Tortora, G. (2006). Can information retrieval tech-niques effectively support traceability link recovery? pages 307–316.

Lucia, A. D., Fasano, F., Oliveto, R., and Tortora, G. (2007). Recovering traceability links in software artifact management systems using information retrieval methods. ACM Trans. Softw. Eng. Methodol., 16(4):13.

Marcus, A. and Maletic, J. I. (2003). Recovering documentation-to-source-code traceability links using latent semantic indexing. pages 125–135.

Murphy, G.C.; Notkin, D. S. K. (Apr 2001). Software reflexion models: bridging the gap between design and implementation. Transactions on Software Engineering, 27(4):364–380. Richardson, J. and Green, J. (2004). Automating traceability for generated software artifacts.

Referências

Documentos relacionados

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Gottardo e Cestari Junior (2008) efetuaram análise de viabilidade econômica na implantação de silo de armazenagem de grãos utilizando os seguintes modelos VPL,

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

Nas leituras de falhas efetuadas, foram obtidos códigos de anomalia por meio de dois diferentes protocolos de comunicação: o ISO 14230 KWP (2000) e o ISO 15765-4 CAN. A seguir, no

Correspondem aos volumes medidos (uso administrativo da companhia, fornecimento a caminhões pipa) e volumes não medidos (combate a incêndios, lavagem de vias

A tabela 25 apresenta os resultados brutos desta avaliação em relação à característica busca e a tabela 26 exibe o resultado ponderado para esta característica.. A tabela 27