31
estudo anterior (em alguns casos, mais de 80%).
O n´umero de LOC cresceu em todas as vers˜oes refatoradas das aplica¸c˜oes. Mesmo
que o aumento percentual parecendo pequeno (entre 0,51% e 3,38%), ele ´e consi-
der´avel na pr´atica, j´a que apenas trechos de c´odigo relativos a tratamento de exce¸c˜oes
foram criados ou modificados. Na mesma linha de LOC, a m´etrica LOCEH aumen-
tou tamb´em para todas as vers˜oes refatoradas. Esse incremento, em LOC e LOCEH,
ocorreu porque: (a) as vers˜oes Ver. Ref. OO tem mais c´odigo fonte para chamar os
novos m´etodos, as novas classes, novas declara¸c˜oes de m´etodos; (b) nas vers˜oes Ver.
Ref. AO foi necess´ario criar novos aspectos, advice e pointcuts, al´em de ter sido
necess´ario usar a diretiva declare soft para suprimir as checagens de tipo reali-
zadas pelo compilador de Java, para tratamento de exce¸c˜oes. Esse resultado leva `a
conclus˜ao de que, diferentemente do que foi suposto por estudos anteriores [30][6],
redu¸c˜ao na quantidade de linhas de c´odigo n˜ao tem correla¸c˜ao com aumento no
reuso de tratadores de exce¸c˜oes.
A m´etrica do n´umero de tratadores de exce¸c˜oes (NEH) diminuiu em ambas
vers˜oes refatoradas. O motivo para o decremento nos valores dessa m´etrica ´e que
existe a separa¸c˜ao entre a captura e o tratamento da exce¸c˜ao. Como os tratadores
na Ver. Ref. OO s˜ao m´etodos cujos parˆametros s˜ao exce¸c˜oes para serem trata-
das, em muitos casos esses m´etodos podem ter como argumentos exce¸c˜oes de tipos
mais gen´ericos do que os tipos de exce¸c˜oes levantados e tratados, criando assim
bastante oportunidade de reuso. Isso ´e poss´ıvel porque as exce¸c˜oes s˜ao capturadas
pelos blocos catch ainda em termos de tipos espec´ıficos, evitando a subsun¸c˜ao das
exce¸c˜oes [34]. Na Ver. Ref. AO, tanto a captura quanto o tratamento da exce¸c˜ao s˜ao
implementados dentro dos advice. Em geral, os advice capturam exce¸c˜oes usando
tipos espec´ıficos, assim como na implementa¸c˜ao Java Original, a fim de n˜ao cap-
turar involuntariamente exce¸c˜oes n˜ao desejadas. Se, na Ver. Ref. AO, os blocos
try-catch dentro dos advice tratadores fossem respons´aveis exclusivamente pela
captura das exce¸c˜oes e novos m´etodos, dentro dos aspectos, tivessem a responsabi-
lidade de trat´a-las, seria poss´ıvel conseguir um reuso ainda maior, como os valores
pr´oximos ou superiores aos obtidos para as Vers˜oes Ref. OO. Mas essa abordagem
n˜ao foi levada em considera¸c˜ao no trabalho realizado. A Tabela 3.3 mostra os resul-
tados relativos `as m´etricas de interesse. As m´etricas CDC, CDO e CDLOC indicam
como o interesse tratamento de exce¸c˜oes est´a espalhado e misturado atrav´es das
aplica¸c˜oes. As Vers˜oes Ref. AO obtiveram os melhores resultados. Esses resultados
refor¸cam os estudos anteriores e exaltam a capacidade da POA de promover a se-
para¸c˜ao textual de interesses transversais, como tratamento de exce¸c˜oes. Os valores
de CDLOC para as vers˜oes Ref. AO dos sistemas utilizados ca´ıram em mais de 50%.