• Nenhum resultado encontrado

Questão 4: Análise do tempo gasto na integração

No sistema MPEG 4, foi detectada uma situação em que a cobertura funcional individual dos blocos é alcançada integralmente, mas durante a integração, os critérios de cobertura remanescentes deixaram de ser alcançados em sua totalidade [71]. A Figura 4.12 é uma ilustração desta integração. Na integração dos DUVs, um componente TMonitor, situado na saída do DCDCT, deixa de existir porque é realizada a ligação direta dos sinais entre DCDCT e SI. Analogamente, o bloco TDriver, situado na entrada do SI deixa de existir. O Source do bloco DCDCT pode ser reusado da mesma maneira que ele foi usado na verificação do bloco isoladamente. O mesmo não é verdade para o Source do bloco SI. Este gerador de estímulos precisa ser restringido, dado que parte do seu comportamento será executada pelo bloco da integração.

Inevitavelmente, alguns componentes do ambiente de verificação são perdidos. Nesta in- tegração, dois deles foram descartados: o TDriver do bloco SI, correspondente à interface de comunicação com o bloco DCDCT, e o componente TMonitor do bloco DCDCT correspon- dente a sua única interface de saída. Juntos com estes componentes, também são perdidas as especificações de critérios de cobertura contidas nos mesmos. Neste caso de integração, o sistema passa a ter 3 interfaces de entrada. No somatório total, antes da integração existiam 4 interfaces de entrada. Na saída, a integração possui uma única interface de saída. Antes existiam duas, uma para cada bloco.

Na prática, o descarte de componentes do ambiente de verificação e a restrição de ge- radores de estímulos podem levar a impasses que penalizam o projeto. Estes impasses são decorrentes de critérios de cobertura que são 100% alcançáveis na verificação dos blocos

Figura 4.12: Integração dos blocos DCDCT e SI do MPEG 4: a) Diagrama de blocos da integração; b) Ambiente de verificação do bloco DCDCT; c) Ambiente de verificação do bloco SI e d) Ambiente de verificação da integração dos blocos DCDCT e SI.

isoladamente, mas que deixam de ser alcançáveis na integração. Este caso está ilustrado na Figura 4.13. A Figura 4.13 é um gráfico que mostra como a cobertura funcional evolui com o passar do tempo. Os blocos isolados alcançam 100 %, porém a integração de ambos não alcança 100 %.

Figura 4.13: Análise de cobertura funcional na integração dos blocos DCDCT e SI do MPEG 4.

Experimentos com os engenheiros LAD

Conforme discutido no Capítulo 1, quando ocorre uma situação em que os critérios de co- bertura funcional dos blocos integrados não são integralmente satisfeitos, o engenheiro pode estar diante de uma parte do projeto que não foi devidamente verificada ou então de um pro- jeto cujos critérios de cobertura valem para os blocos individualmente, mas não valem para a integração. Este último caso ocorre, por exemplo, quando um bloco Y foi verificado em relação a um conjunto de funcionalidades C, mas o bloco vizinho que provê entradas para Y só é capaz de prover um conjunto de entradas que cobrem um conjunto de funcionalidades

C′sendo que C⊂ C.

A realização da integração referente às Figuras 4.12 e 3.6 consumiu 16 horas de dois en- genheiros de verificação. As atividades realizadas para se obter tal integração foram: criação

do ambiente de verificação da integração; testes e depuração deste novo ambiente; verifica- ção funcional considerando os geradores de estímulos e critérios de cobertura funcional que foram reusados dos ambientes de verificação originais de cada bloco da integração; cons- tatação de que a verificação funcional não alcançava 100% porque o gerador de estímulos não estava devidamente configurado para que os critérios de cobertura fossem satisfeitos e, por último, reconfiguração dos geradores de estímulos e da cobertura funcional do bloco DCDCT para que os critérios de cobertura fossem satisfeitos.

Para se obter uma noção do custo de diagnosticar que os critérios de cobertura de uma integração não podem ser satisfeitos, foram realizados experimentos envolvendo engenhei- ros de verificação do LAD-UFCG e Laboratório para a Integração de Circuitos e Sistemas (LINCS) de Campina Grande. Dez engenheiros de verificação foram convidados a participar dos experimentos. Destes dez, somente quatro aceitaram o convite. A integração ilustrada na Figura 4.12 foi utilizada como base para tais experimentos. Reduziram-se apenas alguns critérios de cobertura para que os experimentos não consumissem um tempo maior que o disponibilizado pelos voluntários. Embora nenhum dos quatro voluntários tenha participado de fato do projeto MPEG 4, todos eles já tinham alguma experiência com o referido projeto durante as atividades para a formação dos mesmos.

Nestes experimentos foi observado o tempo que cada engenheiro levou para diagnosticar se os critérios de cobertura da referida integração poderiam ser satisfeitos ou não. Assim, cada engenheiro não sabia a priori se a verificação funcional alcançaria ou não 100%. Fazia parte dos experimentos que cada engenheiro averiguasse se os critérios de cobertura seriam satisfeitos ou não. No caso de resposta negativa, ele também deveria apresentar uma justifi- cativa para o fato.

O ambiente de verificação da integração foi passado pronto para os engenheiros e com a garantia de que a integração dos blocos não apresentava nenhum tipo de problema em relação a protocolos de comunicação e interface. A partir de explanação oral, foi esclarecido que projeto sendo verificado era a integração de dois blocos previamente verificados e que ambos tiveram seus critérios de cobertura integralmente satisfeitos. Além disso, foi explicado que o ambiente de verificação da integração foi constituído a partir de componentes usados na verificação de cada bloco. Foi enfatizado que cada engenheiro tinha acesso e permissão para acessar todo o código dos blocos envolvidos para realização dos experimentos.

Os quatro voluntários foram divididos em dois subgrupos com dois componentes cada. Para ambos os subgrupos, os mesmos ambientes de verificação e projetos foram utilizados. A diferença foi que um subgrupo trabalhou de forma ad hoc e outro trabalhou de forma sistemática, conforme discutido no Capítulo 3, mas sem apoio ferramental. Assim, os expe- rimentos são uma tentativa de caracterizar não apenas a importância de se proceder de forma metódica à integração, mas também de se construir suporte ferramental para tanto.

Apesar de ter sido enfatizado que era possível acessar o código de todo o projeto, o sub- grupo que trabalhou de forma ad hoc se apoiou no ambiente de verificação da integração e na informação gráfica provida pela ferramenta de verificação funcional de VeriSC. Em Ve- riSC, é possível acompanhar a evolução da análise de cobertura funcional através de barras de progressão. Assim, os componentes que não foram reusados na integração não foram considerados pelos engenheiros. O primeiro engenheiro gastou uma hora e dezesseis minu- tos e argumentou que a verificação não alcançaria 100% porque o componente gerador de estímulos do bloco DCDCT não estava configurado devidamente. Apesar de ter procurado no código uma justificativa mais precisa, ele argumentou que era este o problema porque se a verificação funcional de cada bloco satisfaz integralmente os critérios de cobertura, é esperado que o mesmo ocorra com a integração. O segundo engenheiro também argumentou que verificação não alcançaria 100% de cobertura. A justificativa, no entanto, foi diferente. Como os critérios de cobertura inalcançáveis pertenciam originalmente ao bloco SI, o enge- nheiro argumentou que os mesmos não deveriam existir, pois eles não eram alcançáveis no sistema resultante da integração dos dois blocos. O tempo gasto por este engenheiro foi de uma hora e três minutos.

Para o subgrupo que procedeu a experimentação usando a técnica apresentada no Ca- pítulo 3, as justificativas fornecidas pelos engenheiros foram precisas. Os dois voluntários deste subgrupo conseguiram determinar exatamente o motivo pelo qual a verificação não al- cançava 100%. Eles conseguiram determinar a especificação de cobertura que deveria existir no bloco DCDCT a partir do gerador de estímulos do bloco IS. Em seguida, eles conseguiram determinar uma relação entre a especificação ausente e o critério de cobertura inalcançável da integração. Um engenheiro gastou trinta e um minutos e outro vinte e seis minutos. As- sim, por meio da técnica proposta no Capítulo 3, foi possível obter resultados mais precisos e em um menor intervalo de tempo. Apesar de este subgrupo ter consumido quase a metade

do tempo do primeiro, foi possível constatar que as atividades que devem ser realizadas não são triviais e que ferramentas para automatizar a execução das mesmas são necessárias. Um voluntário, por exemplo, precisou usar lápis e papel para fazer anotações e cálculos para diagnosticar o problema.