Automatic software test data generation applying flexible
evolutionary computing ESTRATEGIAS Y ACCIONES FUTURAS DIRECTOR: M.Sc. Carlos Jordan cjordan@espol.edu.ec ESCUELA SUPERIOR POLITCNICA DEL LITORAL ASISTENTES: Andrs !"#$%a Du&al Mar'$ne( ESCUELA SUPERIOR POLITCNICA DEL LITORAL COLABORACIN: Dr. )las *al&+n UNI,ERSIDAD DE LAS PALMAS DE *RAN CANARIA Dr. Mon$-ue Sn.ec/ 0AT1OLIE0E UNI,ERSITEIT LEU,EN Junio 2008 Facula! !" In#"ni"$%a "n El"c$ici!a! & Co'(uaci)n 2''p344555.6$ec.espol.edu.ec 7 *+ ANTECEDENTES El desarrollo de pro8ec'o de $n&es'$%ac$9n deno:$nado Au'o:a'$c So6'5are Tes' Da'a *enera'$on Appl8$n% ;le<$=le E&olu'$onar8 Co:pu'$n%> 6$nanc$ado con 6ondos del pro8ec'o ,LIR?ESPOL Co:ponen'e @> 2a per:$'$do lo%rar la conjunc$9n de dos +reas del conoc$:$en'o co:o son la Co:pu'ac$9n E&olu'$&a 8 la In%en$erAa de So6'5are. En're las ac'$&$dades plan'eadas para d$c2o pro8ec'o> se real$(9 dos pasan'Aas de $n&es'$%ac$9n =ajo la super&$s$9n de dos e<per'os en cada una de es'as +reas3 en la Un$&ers$dad de Las Pal:as de *ran Canar$a> =ajo la d$recc$9n del Dr. )las *al&+n> e<per'o en Co:pu'ac$9n E&olu'$&a 8 en la 0a'2ol$e/e Un$&ers$'e$' Leu&en> =ajo la d$recc$9n de la Pro6. Mon$-ue Sn.ec/> e<per'a en In%en$erAa de So6'5are. Produc'o de es'as pasan'Aas> se 2an %enerado &ar$as pos$=$l$dades de con'$nuac$9n del pro8ec'o en el +rea de Prue=as de So6'5are 8 o'ras +reas relac$onadas con las apl$cac$ones de la Co:pu'ac$9n E&olu'$&a en la soluc$9n de pro=le:as de $n%en$erAa. A con'$nuac$9n se real$(a una e<pos$c$9n de al%unas propues'as de con'$nuac$9n del pro8ec'o en el +rea de prue=as de so6'5are 8 o'ras +reas a6$nes al pro8ec'o. B. E,TENSIONES DEL PROBLE-A DE TESTING APLICANDO CO-PUTACIN E.OLUTI.A+ La nue&a propues'a se en6oca en una :od$6$cac$9n de la 6or:a de a=ordar el pro=le:a de las prue=as> cons$derando el o=je'$&o de co=er'ura de cond$c$ones co:o un pro=le:a $n'e%ral en lu%ar de d$&$d$rlo en o=je'$&os parc$ales de'er:$nados por las cond$c$ones del pro%ra:a o=je'o. El pro=le:a se plan'ea de la s$%u$en'e 6or:a3 Sea F el d$a%ra:a de 6lujos de un pro%ra:a o=je'o P C sea N el conjun'o de nodos> E es el conjun'o de arcos> s 8 f represen'an el nodo de en'rada 8 sal$da> respec'$&a:en'e. Cada nodo n N represen'a una cond$c$9n en el pro%ra:a> con cada arco ( ) > i j e n n E = represen'a la 'rans6erenc$a del con'rol en la ejecuc$9n del pro%ra:a desde el nodo i n al nodo j n . En es'e :odelo> los da'os de prue=a $n%resado el al :odelo es'+n represen'ados por los conjun'os de casos de prue=as o Tes' Su$'e S C en cada ejecuc$9n del :odelo se presen'an un n":ero de 'es' su$'es> donde cada 'es' su$'e es'+ co:pues'o por un n":ero de'er:$nado de casos de prue=a> de 'al 6or:a -ue un solo 'es' su$'e puede cu=r$r 'odos los nodos del pro%ra:a o=je'o a 'ra&s de 'odas las pos$=les 'ra8ec'or$as en d$c2o d$a%ra:a. En la 6$%ura 7> se '$ene un d$a%ra:a de 6lujos con D nodos 8 un 'es' su$'e de6$n$do co:o { } 7 B E F > > > i i i i i S t t t t = > co:pues'o por F casos de prue=a de=$do a -ue se '$enen F pos$=les 'ra8ec'or$as en el d$a%ra:aC en es'e caso> i S cu=re 'odos los nodos del pro%ra:a o=je'o> por lo -ue cons'$'u8e una soluc$9n 9p'$:a al pro=le:a de prue=as plan'eado. B Fi#u$a *+ D$a%ra:a de 6lujos 8 'ra8ec'or$as descr$'as por los casos de prue=as. El pro%ra:a o=je'o de=e $ns'ru:en'arse ad$c$onando lAneas de c9d$%o asoc$adas a cada cond$c$9n del pro%ra:a 8 -ue re%$s'rar+n s$ d$c2a cond$c$9n 6ue cu=$er'a Gejecu'ada con &erdadero 8 6alsoH s$ solo 6ue alcan(ada Gejecu'ada en cual-u$era de los dos sen'$dosH o nunca 6ue ejecu'ada> de 'al 6or:a -ue3 Sea t S un caso de prue=a per'enec$en'e al 'es' su$'e { } > 7 i S t i = = L C t S se de6$ne el conjun'o de nodos -ue 2an s$do alcan(ados con &erdadero co:o { } 3 2a s$do alcan(ado con t T N n n True = 8 el conjun'o de nodos -ue 2an s$do alcan(ados con 6also co:o { } 3 2a s$do alcan(ado con t F N n n False = C se d$ce -ue el nodo n 2a s$do cu=$er'o por S s$ 8 solo s$3 ( ) ( ) 3 3 j i t t i T j F t S n N t S n N > 8 se de6$ne { } 3 es cu=$er'o por S C N n N n S = co:o el conjun'o nodos cu=$er'os por S . Se d$ce -ue un nodo n 2a s$do alcan(ado por S s$ 8 solo s$ ( ) ( ) 3 3 j i t t i T j F t S n N t S n N > 8 se de6$ne { } 3 es alcan(ado por S A N n N n S = . El cr$'er$o de co=er'ura se de6$ne de la s$%u$en'e 6or:a3 I I J I S S C A N w N cobertura N + = Es dec$r> relac$ona el n":ero de nodos cu=$er'os 8 alcan(ados con el n":ero 'o'al de nodos del pro%ra:a o=je'oC el 'r:$no [ ] K>7 w represen'a un peso o'or%ado a los 'es' su$'es -ue alcan(an pero no cu=ren &ar$os nodos del pro%ra:a. E El :odelo descr$'o puede ser represen'ado co:o un pro=le:a de op'$:$(ac$9n co:=$na'or$a> en el -ue la 6unc$9n o=je'$&o corresponde al porcen'aje de co=er'ura 8 la soluc$9n 9p'$:a corresponde al conjun'o de casos de prue=a -ue per:$'e la co=er'ura de la :a8orAa de cond$c$ones del pro%ra:a o=je'o. Al ser represen'ado co:o un pro=le:a de op'$:$(ac$9n> el :odelo de prue=as descr$'o puede ser resuel'o :ed$an'e la apl$cac$9n de al%or$':os de co:pu'ac$9n e&olu'$&a. Se plan'ear+ una nue&a propues'a para el desarrollo de es'e nue&o :odelo para prue=as de so6'5are> 8 se espera o='ener :ejores resul'ados de co=er'ura para pro%ra:as de :a8or 'a:a#o. E. APLICACIONES PR/CTICAS DEL -ODELO DE PRUEBAS DE SOFT0ARE+ El :odelo de prue=as desarrollado 2a s$do pro=ado con al%or$':os de pe-ue#o 'a:a#o -ue son e:pleados co:"n:en'e en la l$'era'ura de prue=as de so6'5are. Es'e :odelo puede ser :ejorado para per:$'$r su apl$cac$9n en pro%ra:as reales -ue %eneral:en'e con'$enen %ran can'$dad de cond$c$ones 8 por cons$%u$en'e> %ran can'$dad de o=je'$&os parc$ales -ue podrAan ser 6+c$l:en'e resuel'os :ed$an'e el :odelo de prue=as propues'o. Una de las d$6$cul'ades en la apl$cac$9n del :odelo en pro%ra:as co:erc$ales es la $ns'ru:en'ac$9n del pro%ra:a o=je'o> 8a -ue ac'ual:en'e se lo 2ace de 6or:a :anualC una pos$=le soluc$9n serAa $n'roduc$r :anual:en'e lAneas de c9d$%o ad$c$onales para $ns'ru:en'ar el pro%ra:a o=je'o duran'e el desarrollo de los pro'o'$pos> lo -ue per:$'$rAa a2orrar '$e:po en la 6ase de las prue=as 8a -ue los pro'o'$pos es'arAan $ns'ru:en'ados 8 el :odelo de prue=as se apl$carAa s$n :uc2as co:pl$cac$ones. Lo reco:enda=le serAa desarrollar una 2erra:$en'a -ue per:$'a de'er:$nar de 6or:a au'o:+'$ca los o=je'$&os parc$ales a ser cu=$er'os> las 6unc$ones de 6$'ness asoc$adas es'os o=je'$&os parc$ales 8 -ue $ns'ru:en'e au'o:+'$ca:en'e el pro%ra:a o=je'o $n'roduc$endo las lAneas de c9d$%o necesar$as para conocer de'alles so=re la ejecuc$9n de las cond$c$ones 8 c+lculo del 6$'ness para cada soluc$9n. La e<$s'en apl$cac$ones pr+c'$cas de :odelos de prue=as s$:$lares e:pleando co:pu'ac$9n e&olu'$&aC una de las pr$nc$pales e:presas -ue usa :odelos de prue=as de es'e '$po es la 6$r:a =r$'+n$ca Da$:ler?C2r8sler> -ue usa un :odelo de prue=as e&olu'$&as para pro=ar el so6'5are de los &e2$culo :arca Mercedes )en(. F. APLICACIONES DE -ODELOS DE CO-PUTACIN E.OLUTI.A EN OTRAS /REAS+ Ad$c$onal a las perspec'$&as de desarrollo en el +rea de prue=as de so6'5are> el +rea de co:pu'ac$9n e&olu'$&a pede 'ener un desarrollo su:a:en'e $:por'an'e den'ro de la ESPOL. Las $:ple:en'ac$ones desarrolladas de los al%or$':os e&olu'$&os> pueden ser e:pleadas para resol&er pro=le:as de o'ras +reas del conoc$:$en'o co:o la In%en$erAa Elc'r$ca> Mec+n$ca> C$&$l> Econo:Aa> Co:pu'ac$9n 8 :uc2as o'ras +reas del conoc$:$en'o donde se re-u$eran :'odos de op'$:$(ac$9n %lo=al ro=us'os. F En're las apl$cac$ones a desarrollarse 6ru'o del pro8ec'o> se encuen'ra una apl$cac$9n del a%en'e de e&oluc$9n 6le<$=le en la plan$6$cac$9n de s$s'e:as de %enerac$9n de ener%Aa elc'r$ca con al'o porcen'aje de ener%Aa 2$droelc'r$caC o'ra de las apl$cac$ones -ue 2a s$do propues'a por el %rupo de 'ra=ajo an'e la con&oca'or$a a pro8ec'os SENACLT BKK@ se encuen'ra una apl$cac$9n del a%en'e de e&oluc$9n 6le<$=le en la de'er:$nac$9n de los e6ec'os del ca:=$o cl$:+'$co en la operac$9n de lar%o pla(o de cen'rales 2$droelc'r$cas. O'ra de las apl$cac$ones de la co:pu'ac$9n e&olu'$&a -ue co:en(ar+n a desarrollarse corresponden a las apl$cac$ones en :odelos de con6$a=$l$dad de s$s'e:as apl$cando cr$'er$os de op'$:$(ac$9n :ul'$o=je'$&oC es'a lAnea ser+ desarrollada conjun'a:en'e con $n&es'$%adores del la Un$&ers$dad de Las Pal:as de *ran Canar$a> l$derados por el Dr. )las *al&+nC es'a propues'a 6or:a par'e de un con&en$o espec$6$co -ue ser+ 6$r:ado en los pr9<$:os :eses en're la ESPOL 8 la ULP*C. M