FACULTAD DE INFORMÁTICA
Departamento de Sístemas Informáticos y Computación
MARCOS TEMPORALES Y PROBABILÍSTICOS
PARA TESTING FORMAL.
MEMORIA PARA OPTAR AL GRADO DE DOCTOR
PRESENTADA POR
Mercedes García Merayo
Bajo la dirección de los doctores
Manuel Núñez García
Roberto M. Hierons
Madrid, 2010
ISBN: 978-84-692-7622-8
TESIS DOCTORAL
Meredes Garía Merayo
Departamentode SistemasInformátios y Computaión UniversidadComplutense de Madrid
Esta tesisdotoral sepresenta en formato publiaiones, deauerdo on elapartado 4.4 de la Normativa de desarrollo de los artíulos 11, 12, 13 y14 del real dereto 56/2005, de 21 de enero, por el que se regulan los estudios universitarios oiales de postgrado de la UniversidadComplutense(AprobadoenConsejodeGobiernoonfeha13dejuniode2005, BOUC,5 de julio de 2005). Dihas publiaionesreogen todos losresultados quehan sido obtenidos en los diferentes trabajos de investigaión desarrollados on el n de alanzar el objetivo jado paralarealizaión dela tesis. Aontinuaión se relaionan losartíulos que integran la tesis agrupados en tres bloques, teniendo en uenta sus diferentes ontenidos temátios: Testing de sistemas temporales, Testing de sistemas estoástios, y Testing de sistemasdistribuidos.
I) Testing de Sistemas Temporales
a) M.G.Merayo,M.Núñez,andI.Rodríguez.Formal testingfromtimednitestate mahines. Computer Networks, 52(2):432460,2008.
b) M.G.Merayo,M.Núñez, andI. Rodríguez. Formal testingofsystems presenting softandharddeadlines. In2ndIPMInt.SymposiumonFundamentalsofSoftware Engineering, FSEN'07, LNCS 4767,pages160174. Springer, 2007.
) M.G. Merayo, M. Núñez, and I. Rodríguez. Extending EFSMs to speify and test timed systems with ation durations and timeouts. IEEE Transations on Computers,57(6):835848, 2008.
d) M.G.Merayo,M.Núñez,andI.Rodríguez.Generationofoptimalnitetestsuites for timed systems. In 1st IEEE & IFIP Int. Symposium on Theoretial Aspets ofSoftware Engineering,TASE'07,pages149158. IEEEComputerSoietyPres, 2007.
e) M.G. Merayo, M. Núñez, and I. Rodríguez. A brief introdution to
THOTL
. In 5th Int. Symposium on Automated Tehnology for Veriation and Analysis, ATVA'07,LNCS 4762,pages501510. Springer, 2007.f) M.G.Merayo,M.Núñez,andI.Rodríguez.
THOTL
:AtimedextensionofHOTL
. InJoint 20th IFIP TC6/WG6.1 Int. Conf. on Testing of Software and Commu-niating Systems, TestCom'08, and 8th Int. Workshop on Formal Approahes to Software Testing, FATES'08,LNCS 5047,pages86102. Springer, 2008.g) M.G. Merayo, R.M. Hierons, and M. Núñez. Extending stream X-mahines to speifyandtestsystemswithtimeouts. In6thIEEEInt.Conf.on Software Engi-neering andFormalMethods, SEFM'08, pages201210. IEEEComputer Soiety Press,2008.
II) Testing de Sistemas Estoástios
a) M.G.Merayo,M.Núñez,andI.Rodríguez. Implementation relationsfor stohas-ti nite state mahines. In 3rd European Performane Engineering Workshop, EPEW'06,LNCS 3964,pages 123137.Springer, 2006.
b) M.G. Merayo, M. Núñez, and I. Rodríguez. Testing nite state mahines pre-sentingstohasti timeand timeouts. In 4thEuropean Performane Engineering
) M.G. Merayo and M. Núñez. Testing onformane on stohasti stream X-mahines. In5th IEEEInt. Conf.on Software Engineeringand FormalMethods, SEFM'07, pages227236. IEEEComputer Soiety Press,2007.
d) R.M. Hierons, M.G. Merayo, and M. Núñez. Testing from a stohasti timed systemwitha fault model. Journal of Logi and Algebrai Programming, 78:98 115,2009.
e) R.M.HieronsandM.G.Merayo. Mutationtestingfromprobabilisti and stohas-ti nite state mahines. Journal of Systems and Software, 82(11):18041818, 2009.
III) Testing de Arquitetura Distribuida
a) R.M.Hierons,M.G.Merayo,andM.Núñez. Implementationrelationsforthe dis-tributedtestarhiteture. InJoint 20th IFIP TC6/WG6.1 Int.Conf. on Testing ofSoftware andCommuniatingSystems,TestCom'08, and8th Int.Workshopon Formal Approahes to Software Testing, FATES'08, LNCS 5047,pages 200215. Springer,2008.
b) R.M. Hierons, M.G. Merayo, and M. Núñez. Controllable test ases for the dis-tributed test arhiteture. In 6th Int. Symposium on Automated Tehnology for VeriationandAnalysis,ATVA'08,LNCS5311),pages201215.Springer,2008.
Los métodos formales son ténias on base matemátia que se utilizan tanto para el diseño y análisis de sistemas omo para la evaluaión de su orreión. El usode métodos formalesesespeialmenterelevanteensistemasenlosqueesimportanteasegurarquedurante el proeso de desarrollo no se han produido errores. La representaión formal de estos sistemas permite un análisis riguroso de sus propiedades. En partiular, permite estableer laorreión delsistema on respeto a su espeiaión y,por tanto, asegurar su alidad. El método analítio demayor apliaión en entornos industriales orientadoadiho objetivo eseltesting.
Iniialmente, los métodos de testing estaban orientados al hequeo de aspetos uali-tativos del sistema. Sin embargo, una gran parte de los sistemas desarrollados requieren onsiderar no sólo las aiones que se pueden ejeutar sino también los aspetos uantita-tivosasoiados ondihasaiones. Entreestasabe destaartanto ondiiones temporales omo probabilístias, que juegan un papel deisivo a la hora de estableer la orreión de los sistemas. Un primer paso parapoderrealizar testing formal de sistemas que presentan este tipo de restriiones es la extensión de los lenguajes de espeiaión on elementos quepermitanexpresardihaspropiedades. Asímismo,lasnoiones deorreióndeben ade-uarseparatenerenuentaladimensióntemporaly/oprobabilístia.Deunmodosimilar,los algoritmosdegeneraióndetestsdebenseradaptadosparatratarondihosrequerimientos. Elprinipalobjetivodeestatesiseslaextensióndelosmétodosformalesutilizadosenlas metodologíasparaeltestingdesistemas,demodoqueestospuedanserapliadosasistemas on restriiones temporales referentes al tiempo onsumido por las aiones, el tiempo de esperadel sistemaparareibir una reaióndel entorno, la probabilidad de queuna aión tenga lugar, o la probabilidad de que una aión onsuma una determinada antidad de tiempo en su ejeuión. Junto a ello,la apliaión de tests parala omprobaión de dihas propiedades y la obtenión de diagnóstios respeto a la orreión de los sistemas, es un objetivo prioritariode nuestrotrabajo.
Graias Fernando,poranimarme ainiiaruna nuevaetapaenmivida,tanto profesional omopersonal.Sin ti,esto nohubiera sidoposible.
Mi más profundo agradeimiento a los profesores Manuel Núñez Garía y Robert M. Hierons por su ayuda y apoyo, así omo por la onanza que depositaron en mi. También quisieramostrarmigratitudalosompañerosquemeaompañaron,ayudaronyaonsejaron durantetodo este tiempo,espeialmente aIsmael on elque tantosdeadlines ydisusiones heompartido.
Cuando quieres realmente una osa, todoeluniverso onspira para ayudarte a onseguirla.
Paulo Coelho
Thank you Fernando,for enouragingmeto initiate anewstage inmylife,both profes-sionaland personal. Withoutyou,thiswouldhave not been possible.
Mydeepest gratefulnessto Professors ManuelNúñezGaría andRobert M. Hieronsfor their help and support, as well as for the trust they put in me. Also, I want to show my gratitudetomyolleaguesthathelpedandadvisedmeduringallthistime,espeiallyIsmael withwhom Ihave sharedsomanydeadlines and disussions.
When you wantsomething, all the universe onspires to help youto ahieve it.
1. Introduión 1
1.1. Disusiónintegradorayobjetivos . . . 3
2. Estado del arte:métodos formales y testing 17 2.1. Lenguajesformales de espeiaión . . . 18
2.1.1. Lenguajesbasados en modelos . . . 18
2.1.2. Lenguajesbasados en estadosnitos . . . 19
2.1.3. Lenguajesbasados en álgebrasde proesos . . . 19
2.1.4. Lenguajesalgebraios . . . 20
2.2. Ténias detesting . . . 20
2.2.1. Testingparaespeiaiones formalesbasadas en modelos . . . 22
2.2.2. Testingbasadoen máquinas de estadosnitos . . . 23
2.2.3. Testingparaálgebras deproesos . . . 26
2.2.4. Testingparaespeiaiones algebraias . . . 27
3. Estado del arte:testing y extensiones temporales 29 3.1. Formalismospararepresentar sistemastemporales . . . 29
3.1.1. Representaiónde tiempo noprobabilístio . . . 31
3.1.2. Representaiónde tiempo estoástio . . . 32
3.2. Testingde sistemastemporales . . . 33
Introduión
Losmétodos formales haenreferenia aténiasmatemátiasparalaespeiaión, de-sarrolloyveriaióndesistemassoftwareyhardware.Laapliaióndelosmétodosformales esespeialmenterelevanteensistemasenlosque,debidoarazonesdeseguridad,esneesario estableerqueduranteelproesodedesarrollonosehanproduidoerrores.Deheho,suuso en las etapas iniiales del proeso de desarrollo, durante el estableimiento de los requeri-mientos ysu espeiaión,inrementa suefetividad. Noobstante,su apliabilidadnoestá restringidaa estosniveles, pudiendoser usadosa lolargo detodo elilode desarrollo.
Larepresentaión formaldelossistemaspermiteunanálisisrigurosodesuspropiedades. Enpartiular, permite estableer laorreión delsistemanalrespeto alaespeiaión, elumplimiento de lasondiiones requeridas para elmismo, laequivaleniasemántia on otrossistemas,elniveldeprefereniadeunsistemarespetoaotroenbaseaundeterminado riterio,laexistenia de posibles omportamientosinorretos, et.
En lo referente a las ténias formales para el estableimiento de la orreión de un sistemarespetoa unaespeiaión,las metodologías detesting formal han jugadoun pa-pelmuyrelevante.La apliaión dedihasténias requierelaidentiaión de losaspetos rítios del sistema, esto es, aquellos aspetos que maran la diferenia entre los ompor-tamientos orretos e inorretos. Iniialmente, las ténias de testingestaban enfoadas al análisisdelomportamiento funionaldelos sistemas,esdeir,a determinar,por unaparte, si elsistema testeadorealizaba las aionesrequeridas, ypor otra a garantizar que no rea-lizaba las aiones no permitidas. Sin embargo, en el aso de los sistemas de tiempo real adquieren tanta relevania los aspetos uantitativos omo los ualitativos: es tan impor-tanteveriarquelossistemas haenlo que deben haer,omoque lo haenuando y omo deben haerlo. Debidoa ello,durantelos últimos años, lasténias detesting formalsehan
orientado también haia el tratamiento de las propiedades no funionales de los sistemas, omoporejemplolaprobabilidadde queserealieunaaión oeltiempoonsumido por el sistemapararealizarla, ya queestosaspetos pueden serrítiosen dihossistemas.
Unprimerpasoparapoderrealizartestingformaldesistemasquepresentanestetipode restriiones es la extensión de los lenguajes de espeiaión on elementos que permitan expresardihaspropiedades.Asímismo,lasnoionesdeorreión delasimplementaiones, expresadasmediante relaiones de onformidad o equivalenia, deben adeuarse para tener en uenta ladimensión temporal y/oprobabilístia. Tambiénlos algoritmosdiseñados para realizar lageneraiónde testsdeben seradaptados para tratar on dihosrequerimientos.
El prinipal objetivo de esta tesis esla extensión de los métodos formales utilizados en lasmetodologíasparaeltestingdesistemas,demodoqueestospuedanserapliadosuando dihos sistemas presenten restriiones referentes al tiempo onsumido por las aiones, el tiempo de espera del sistemapara reibir una reaión del entorno, la probabilidad de que unaaióntengalugarolaprobabilidaddequeunaaiónonsumaunaantidaddetiempo determinada para su ejeuión. Otro objetivo prioritario es la apliaión de tests para el hequeodedihaspropiedadesylaobtenión de diagnóstiosrespetoa laorreión delos sistemas.
Esta tesisdotoralsepresenta en formato publiaiones, deauerdo on elapartado 4.4 de la Normativa de desarrollo de los artíulos 11, 12, 13 y 14 del real dereto 56/2005, de 21 de enero, por el que se regulan los estudios universitarios oiales de postgrado de la Universidad Complutense (Aprobado en Consejo de Gobierno on feha 13 de junio de 2005, BOUC, 5 de julio de 2005). Dihas publiaiones reogen todos los resultados que han sido obtenidos en los diferentes trabajos de investigaión desarrollados on el n de alanzar el objetivo jado para la realizaión de la tesis. Todos ellos han sido refrendados on su publiaión en diferentes ongresos y revistas de ámbito internaional. Contando por tanto on la subsiguiente evaluaión inter pares y habiendo salido vitoriosos de los orrespondientes proesos de seleión,e general bastanteexigentes.
Losartíulosqueintegranlatesissepresentanagrupadosentresgrandesbloques, tenien-doenuentasusdiferentesontenidostemátios:Testingdesistemastemporales,Testingde sistemasestoástios,yTestingdesistemasdistribuidos.Apesardequehayasidoposiblela itadalasiaión,noquieredeirquenoexistaunainnegablelineaomúnintegradora,que seorresponde onlapropuesta de métodosnoveles a nuevasextensiones hastaelmomento
1.1. Disusión integradora y objetivos
Enestaseiónsepresentaunadisusiónintegradora delaspubliaionesqueonstituyen estatesis.
Elprimerbloque,orrespondienteatestingdesistemastemporales,integralassiguientes ontribuiones: Formal testing from timed nite state mahines [MNR08℄, Formal Testing ofSystemsPresentingSoftandHard Deadlines [MNR07b℄,ExtendingEFSMstoSpeify and Test TimedSystemswithAtionDurationandTime-Outs [MNR08b℄,Generationof optimal nite test suites for timed systems [MNR07℄, A Brief Introdution to
THOTL
[MNR07a℄,THOTL
:ATimedExtensionofHOTL
[MNR08a℄yExtendingStreamX-Mahinestospeifyandtest systems withtimeouts [MHN08℄.
Estas publiaiones tienen omo objetivo omún la integraión de requerimientos tem-porales en diferentes formalismos de espeiaión y la generaión de onjuntos de tests ompletos que permitan estableer la orreión de las orrespondientes implementaiones on respetoa susespeiaiones.
Durantelosúltimosañossehanpropuesto numerosasténiasde testingformalparaser apliadasensistemasquepresentenrestriionestemporales(e.g.[CL97 ,HNTC99 ,UFSA99, SVD01 ,EDK02,ED03 ,KT05 ,BB05℄).Usualmente,estasmetodologíaspresentanunanoión de tiempo determinista, es deir, los requerimientos temporales expresan ondiiones de la forma después/antes de
t
unidades de tiempo. Aunque la inlusión de tiempo en los formalismospermitedarunadesripiónmáspreisadelsistemaquedebeserimplementado, en muhas oasiones, una noión determinista de tiempo no es adeuada para desribir sistemasdondelasrestriionestemporalesdebenexpresarsemedianteondiionesomola probabilidaddequeestaaiónseejeuteantesdet
unidadesdetiempoesp
.Estalimitaión ha dado lugar aldesarrollo de ténias que seajustan a las diferentes noiones temporales quese pueden onsiderar ya que, desgraiadamente, en la mayoría de los asos las ténias queonsideranrestriionestemporalesenundominioespeionopuedenseradaptadasde unmodo senilloparaserapliadas asistemasdonde seutilizanotros dominiostemporales. Por tanto,seríadeseabledisponerdeun maroglobaldonde eldiseñadorpudieraelegir, on pequeñasvariaiones, lanoión temporal quedesea utilizar paraespeiarsu sistema.Enlaprimerapubliaión inluidaenestebloque[MNR08℄,sepresentaunmaro uni-ado, basado en máquinas de estados nitos [Moo56℄, para espeiar y testear sistemas donde los requerimientos temporales pueden ser expresados en tres dominios diferentes: Tiempos jos, variables aleatorias e intervalos de tiempo. Intuitivamente, las transiiones en las máquinas de estadosnitos lásiasindian quesi lamáquina está en un estado
s
yreibeunaentrada
i
produiráuna salidao
yambiará alestados
′
.Una notaiónadeuada para representar diha transiión es
s
i/o
−→
s
′
. Si onsideramos una extensión temporal de las máquinas de estados nitos, transiiones de la forma
s
i/o
−−→
d
s
′
indian que el tiempotransurridodesdequesereibelaentrada
i
yseproduelasalidao
vienedadapord
,donded
pertenee aun determinado dominiotemporal.Iniialmente el trabajo presentado en [MNR08℄ serestringe a sistemas observables no-deterministas.Unsistemaesobservableno-determinista sinopresenta dostransiionestales omo
s
i/o
−−→
d
1
s
1
ys
i/o
−−→
d
2
s
2
.Sinembargo,si sepermite laoexistenia detransiiones de laformas
i/o
1
−
−−−→
d
1
s
1
ys
i/o
2
−
−−−→
d
2
s
2
,siempre queo
1
6
=
o
2
. En laúltima partedel trabajo, se elimina la restriión de la observabilidad y el maro es extendido para tratar sistemas no-deterministas.Para denir apropiadamente omo testear una implementaión es neesario estableer que signia que una implementaión sea orreta on respeto a una espeiaión. En el asode modelos deterministas, la noión estándar de orreión eslaequivalenia. Sin em-bargo, enel asode quelaespeiaión sea nodeterminista esmás apropiado utilizar una noión de orreión más débil, usualmente denominada onformidad. En este aso, la o-rreión de una implementaión respeto a una espeiaión se establee en términos de relaionesentrelosomportamientosdeambas.Enestetrabajo,sepresentandiferentes rela-iones de onformidad relativas tanto a los aspetos funionales omo a los temporales de los sistemas. Iniialmente se propone una relaión donde el tiempo no se onsidera, rela-tiva tan solo al omportamiento funional. La idea intuitiva es que el omportamiento de la implementaión está restringido al omportamiento estableido en la espeiaión sólo paraaquellasentradas onsideradasenlamisma;enelresto delosasos,elomportamiento de laimplementaión no está ondiionado. Adiionalmente, se proponen varias relaiones de onformidad temporales de auerdo on la interpretaión de lo que esuna buena imple-mentaión para una espeiaión dada y los diferentes dominios de tiempo onsiderados. Todasellas exigenque la implementaión sea orreta respeto a la espeiaión desde el punto de vista funional y requieren el umplimiento de diferentes ondiiones temporales paraada unade ellas,permitiendoquesepueda elegirlamásapropiada en ada aso.Por ejemplo, en un aso se establee que los tiempos onsumidos por la implementaión para realizarlasaionesseansiempremenoresquelosindiadosenlaespeiaión,mientrasen otroasose exigequeseanexatamentelos mismos.
derivaión de tests está diseñado de modo que, para todos los omportamientos de la im-plementaiónquedebanhequearseantesdeestableer laorreión,elalgoritmogeneraun test. Debido a que no se establee ningún riterio que reduza el onjunto de tests deriva-dos,ésteserá(posiblemente)innito.Neesitaríamosunriterio deoberturaadeuadopara poder generar un onjunto nito. En este sentido, el algoritmo es ompleto, es deir, pro-poriona una obertura ompleta de fallos respeto a larelaión onsiderada, en el límite. Si se impusiese alguna restriión omo generar
n
tests o generar todos los tests onm
entradas laompletitud sealanzaría para elriterio estableido.El interés de esta metodología reside, por unaparte, en quelas hipótesisrequeridas son muydébilesy,porotra, enqueproporiona unmétodo paraenontrar yonstruir ualquier test,ondiiónneesariasisequiereseleionar unonjuntonitodeauerdoaalgúnriterio.
Uno de los problemas que se presenta uando se espeian sistemas on informaión temporal esla diultad de estableer on preisión los tiemposasoiados on las aiones que realiza el sistema. Esta falta de preisión indue ierto nivel de indeterminaión a la horade estableer la orreión temporal de la implementaión. En esta línea, los modelos estoástios permiten espeiar restriiones tales omo on probabilidad
p
esta aión debería realizarseantesdet
unidades detiempo.Ahoraeldiseñadornoneesitaindiarun tiempopreisoparaunaaióndeterminada,sinounaestimaiónprobabilístia.Sinembargo, hay situaiones en las que el diseñador no dispone de esta informaión probabilístia, o bienonsidera que dándolaompliaría inneesariamente el modelo. En este aso, laforma más apropiada para espeiar restriiones temporales es el uso de intervalos de tiempo, mediantelosuales elespeiadorproporionaunonjunto deposibles valores,enlugarde unúniovalor,omitiendolaprobabilidadasoiadaaadaunodeellos.Esmás,esposibleque durante la etapa de testing el testeador permita alguna impreisión en el omportamiento temporal delsistema. En algunas oasiones,podríaaeptarse quelaejeuión deuna tarea tarde más/menos tiempo del esperado: Si la ejeuión de la tarea se ejeuta en el tiempo espeiado en la mayoría de los asos, alguna desviaión puede ser admisible. Otra razón para que el espeiador permita impreisiones es que los aparatos de medida del tiempo uando serealiza eltesting delsistemapodrían noser tan preisos omoseríadeseable. En tal aso, debido al mal funionamiento del meanismo de medida podría no detetarse un omportamiento temporalmente inorreto.Teniendo en uenta estasonsideraiones sehadesarrollado unmaro formal detesting donde se ontempla la posibilidad de que se produzan algunas impreisiones en el
om-peiaiones mediante la utilizaión de una extensión de las máquinas de estado nitos on intervalos de tiempo asoiados a la ejeuión de la transiiones. Al igual que ourría en [MNR08℄, una transiión
s
i/o
−→
[
t
1
,t
2
]
s
′
india que si la máquina está en un estados
y reibeunaentradai
,emitiráunasalidao
ypasaráaunestados
′
enuntiempoomprendido entre
t
1
yt
2
.El proesodetesting, asíomoladeniiónde lasrelaionesdeonformidad, dependerá de la medida de los tiempos de ejeuión y del nivel de error aeptable en el sistema. Las posibles interpretaiones de aeptable dan lugar a diferentes alternativas a la hora de es-tableer lasrelaiones deonformidad yde denir lanoiónde pasar un test. Sinembargo, hay algo más que se debe tener en uenta uando se trabaja on sistemas en los que los requerimientostemporalesseexpresanmedianteintervalos.Dadoqueestetrabajoonsidera unmarodetesting deajanegra,noesposibleestableer mediantelaejeuión deunúnio test que el omportamiento de la implementaión es orreto respeto a la espeiaión, desde un punto de vista temporal. De heho, la ejeuión de un test indiará tan sólo el tiempoempleadoporlaimplementaión enlaejeuióndelmismo,noelintervaloasoiado. Como onseuenia, y teniendo en uenta que se onsideran intervalos de números reales positivos,neesitaríamosun númeroinnito deobservaionesdelaejeuión deada transi-iónparaasegurarqueelintervalodetiempoasoiado(desonoido)esorretoonrespeto alestableidoen latransiión orrespondiente delaespeiaión(onoido).La estrategia planteada para superar esta limitaión onsiste, básiamente, en el registro de los tiempos quelaimplementaión invierteenejeutarlasseuenias deaionesproporionadasporlos tests. Las relaiones de onformidad denidas se basan en dihos valores, requiriendo que umplan,enada aso, iertasondiiones onrespetoalosintervalos espeiados. Como yasehamenionadoantes,en estetrabajoseonsideraqueelomportamiento temporalde laimplementaión notieneporquéorresponderexatamenteonloesperado,admitiéndose unaiertadesviaión,porloqueesneesariotenerenuenta lamisma.Paraellose determi-nasilaantidaddevaloresinorretosentrelostiemposregistradosesrelevante,teniendoen uenta elgrado de desviaión, paraasegurarla onformidad dela implementaión respeto ala espeiaión.
Los modelos menionados anteriormente inluyen sólo una noión limitada de paso del tiempo: El tiempo asoiado a la ejeuión de aiones por parte del sistema. Sin embargo, existen otras situaionesen las quees onveniente tener en uenta elpaso deltiempo.Esta onsideraiónmotivóla apertura de unavarianteenesta línea deinvestigaión enlaque se
esun periodo de tiempo espeío duranteel ualelsistema puede permaneer a laespera de reibir un estímulo del entorno. Si este tiempo se rebasa y no se ha produido ninguna interaión on el sistema, éste ambia de estado, por lo quesus reaiones a los estímulos reibidos pueden ser diferentes a los que se hubieran produido on anterioridad a diho límitede tiempo.
Lasextensiones temporalesde las metodologías lásiasdetesting estánusualmente en-foadastansóloaunadelasvariantespreviamenteindiadas:Eltiempoestáasoiadooalas aionesorepresentatime-outs.Conelnde uniarenunúniomaroambaspropiedades temporales se desarrolló un nuevo trabajo que ulminó on la publiaión [MNR06a℄. Su versiónextendida [MNR08b℄ haapareidomuyreientemente.
El formalismo utilizado en estos trabajos es una variante de las máquinas de estados nitos extendidas que permite integrar de un modo natural ambos aspetos temporales. El maro teório se omplia debido, por una parte, a la onsideraión de variables que puedenafetar alosomportamientostemporalesdelsistemay,por otra,alanaturalezano determinista del mismo. Ello implia que la misma seuenia de aiones pueda onsumir diferentes tiemposen diferentesejeuiones.
Asumiendo quetanto laespeiaión omo laimplementaión pueden representarse en elformalismo menionadoanteriormente, seproponeunametodologíade testingformalque permita testear un sistema on respeto a una espeiaión. Nuevamente, el proeso de testing requiere la deniiónde una noión de orreión. Aligual queen asos anteriores, eltratamiento de sistemas de tiempo real implia ladeniiónde diferentes niveles de on-formidad(funional ytemporal). La onformidad funional requiere, omoes habitual,que lasseueniasdeentradas/salidasdelsistematesteadoseanpermitidasporlaespeiaión. Sin embargo, uando se dene en este maro la onformidad funional, es neesario tener en uenta los posibles time-outs; una seuenia puede ser aeptada sólo antes/después de quediferentestime-outssehayan produido.Por tanto,losaspetos temporales delsistema afetanparialmente asu omportamiento funional.
En estetrabajo seproponen diferentes relaionesde onformidadtemporalesparatener en uenta el funionamiento no-determinista que puede surgir. Respeto a la apliaión de tests a la implementaión, también se ve afetada por el no-determinismo de las espei-aiones y/o las implementaiones. En partiular, el diagnóstio de la inorreión de un sistema requiere onsiderar el resultado de la apliaión de todos los tests, ya que un solo test podría ser insuiente. Por ejemplo, si para estableer la onformidad de una
imple-unatareaonreta seamenor queelespeiado,elheho dequeunade ellasonsumamás tiempo no india que la implementaión no sea orreta, ya que otras ejeuiones podrían tardar menos.
Lasiguientepubliaión reogidaen estebloquedelatesis[MHN08℄,realiza elestudioy análisisdelostime-outsenunformalismobasadoenstreamX-mahines[Lay92 ℄.Las prini-palesventajasdelusodeestemodelopararepresentarsistemassonsuexpresividadyla inte-graióndelproesodeontrolydelasestruturasdedatosdelosmismos.Esteformalismoha sidoutilizado para espeiarsistemasen diferentes áreas,yvariasmetodologías detesting hansidodesarrolladasparaestetipodemáquinas[IH97,HI98,BCG
+
99 ,HH00,IH00,HH04℄. Intuitivamente, podemos pensar enuna streamX-mahine omoun diagramade transiión de estadosen elquelos aros estánetiquetados on funiones.Cada funiónreibe una en-tradaylosvaloresatualesde lamemoria,yprodue unasalida ylos valores,posiblemente modiados,de lamemoria.
En este trabajo diho formalismo ha sido extendido para permitir al diseñador repre-sentar explíitamente los time-outs de un sistema. Asimismo, se propone una metodología de testingformalque permite testearsistemátiamente unaimplementaión respeto auna espeiaión. La noión de orreión onsiderada es la equivalenia de trazas, es deir, lasseueniasdeentradas/salidasgeneradas por laimplementaióntesteadadebenoinidir on lasdelaespeiaión. Debidoalainlusión de time-outsen elsistemaestosdebenser tenidosen uenta a lahorade estableer diha equivalenia,yaquepuede haberseuenias quesólo estén permitidas endeterminados intervalos de tiempo,no pudiendoser aeptadas nion anterioridad nion posterioridad.
El algoritmo de generaiónde tests lásiopara sistemasespeiadosmediantestream X-Mahinesdeterministasestábasadoenelmétodopropuesto por [Cho78 ℄enelontextode máquinasde estadosnitos.Estemétodogeneraunonjunto detestsderivado dela espei-aiónquepermitedeterminar laorreión funional delaimplementaión.La apliaión de este método requiere que las funiones asoiadas a las transiiones estén orretamente implementadas yexige una serie de restriionesténias. Bajoestas hipótesis,el onjunto de tests generado por este método garantiza la determinaión de laorreión del sistema. En [MNR06a℄seeliminan algunas de estasrestriiones: nose exigeuna otaen el número de estadosde la implementaión y no se requiere que las funiones no puedan produir la mismasalidaparaunamismaentradayvaloresdelamemoria.Asimismo,sedemuestra que elalgoritmo propuesto para lageneraiónde testsesorretoyompleto enel límite.
ble.El prinipal problema,omoya seha menionado,esqueeltiempo delquedisponemos para haerlo es nito, mientras que, en general, un sistema suele presentar innitos om-portamientos. Usualmente, se trata de obtener un onjunto nito de tests, en base a dife-rentes hipótesis sobre el sistema, que permitan estableer, on un alto grado de abilidad, la orreión del mismo. Teniendo omo prinipal objetivo tanto la nitud del onjunto de tests omo la obtenión de un alto grado de abilidad, se desarrolló una aproximaión formal que permitía seleionar aquellos tests que proporionan una mayor obertura de errores[MNR07℄.
Como ya seha menionado anteriormente, on eln de reduir laantidad de ompor-tamientosquesedebenhequear paraasegurarlaorreióndeunsistema,lasmetodologías de testing formal suelen asumir iertas hipótesis. Entre estas hipótesis podemos enontrar queelnúmero deestadosquedesriben laimplementaión esnitoyonoido,queel sis-temaesdeterminista o,enelasodesistemasno-deterministas,quesiprobamossuientes veeslasposibilidadesnodeterministas,todasseejeutaranalmenosunavez.Sinembargo, en el aso de sistemas on restriiones temporales no es posible alanzar la testeabilidad nita, nisiquieraen ellímite.
Aunque el testeo de sistemas que presentan requerimientos temporales omparte meto-dologíason eltesteodelossistemasnotemporales,estospresentansuspropiasdiultades. En el aso de los sistemas temporales, aotar el análisis de la implementaión requiere no sólo limitarlaantidad de ejeuiones delmismo, sinotambiénel tiempo onsumidoen las mismas. Si quisiéramos testear el omportamiento de la implementaión durante un máxi-mo de
t
unidades de tiempo, deberíamos omprobar su funionamiento para ada posible interaión ejeutada en ada valor perteneiente alintervalo de tiempo[0
, t
]
, ya queomo hemos indiado previamente, las respuestasdel sistemapueden ser diferentes siuna misma entrada se aplia en diferentes instantes. Si se asume tiempo ontinuo, el número de tests que deberíamos apliar sería inmediatamente innito. Aún en el aso de que onsideremos un dominio de tiempo disreto, uanto menor sea el quantum onsiderado, on el n de aproximarnos a la realidad, mayor será el número de posibilidades, hasta llegar a alanzar unnúmero astronómio. Por tanto,el número de testsneesarios parahequear un sistema on restriiones temporales en un intervalo de tiempo nito eso innito o muy alto. Así, en general, no es posible en la prátia testear de una forma ompleta y apropiada estos sistemasno esposible engeneral.detetarunaampliavariedaddeerroresdeauerdoaunriterioestableido [Car00 , KT05 ℄. Desafortunadamente,estosriteriossuelenestarbasados enlaexperieniadeltesteadoroen heurístias.Por el ontrario, en [MNR07℄se propone un riterio riguroso parala seleión de este onjunto de tests. Enonreto, la metodología presentada permite la generaiónde lostestseligiendolostiemposmás representativos enelintervalodetiempoonsiderado. La eleión deestostiempos sebasaen laprobabilidad de quelamáquina no haya modiado su estado. De este modo, la apliaión de este onjunto de tests permite inferir no sólo el omportamiento de la implementaión en un instante preiso de tiempo, sino también, en términos probabilístios,en elperiodo detiempoanterior.
La estrategia más usada para reduir el onjunto de tests que permiten estableer la orreión de un sistema onsiste en que lostesteadores asuman hipótesis razonables sobre laestrutura delasimplementaiones. Enestalínea,sehan propuestomuhasmetodologías que,paraunonjuntoespeíodehipótesis,garantizanqueelonjuntodetestsobtenidoon suapliaiónesorretoyompleto.Sinembargo,todomarodehipótesisestableidoapriori resultamuyestritoylimita laapliabilidaddeunaténiaespeía.Conelndeeliminar estalimitaiónsepropusoelmaro
HOTL
[RMN06,RMN08℄(HypothesesandObservations TestingLogi),quepermiteevaluarsilaapliaióndeunonjuntodeobservaionesimpliala orreióndeunaimplementaiónparaunonjunto dehipótesis determinado.Esteonjunto dehipótesiseselegidoporeltesteadorentrelasdisponiblesenelrepertorioproporionadopor lalógia. Estas hipótesis pueden estar asoiadas a partes espeías de laimplementaión, omoporejemploqueundeterminadoestadoesdeterminista,oalomportamientoglobalde lamisma.Conestasúltimas,eltesteadorpuedeasumir,porejemplo,quelaimplementaión esdeterminista, que tieneomo muhon
estados,o queel estado iniial esúnio, entre otras.Elestudiorealizadoon
HOTL
seextendióyadaptóparadarlugaraTHOTL
unmaro para tratar on sistemas que presentan restriiones temporales. El trabajo realizado onTHOTL
ulminó on las dos publiaiones [MNR07a, MNR08a℄ que ierran este primerbloquedelatesis.Laadaptaión de
HOTL
requiriólamodiaióndelasreglasdelalógia demodoquelostiempospudieraninluirseytratarseonpropiedad.Asímismo,elrepertorio de hipótesis disponible se extendió de forma que se pudieran tener en uenta suposiiones aera delos intervalos de tiempo asoiados alas transiiones.El segundo bloque de la tesis orresponde al testing de sistemas on tiempo estoásti-o. Esta parte está onstituido por las siguientes publiaiones: Implementation Relations
ing Stohasti Time and Timeouts [MNR07d℄, Testing onformane on Stohasti Stream X-Mahines [MN07℄,Testingfrom a Stohasti Timed System witha Fault Model [?℄y Mu-tationTesting from Probabilisti andStohasti FiniteState Mahines [HM09℄.
Como ontinuaión de la línea de investigaión enfoada al estudio del testing de sis-temason informaión temporal sedeidióintegrar en unmismo maro, por una parte, las limitaiones derivadas de las posibles indeisiones en la espeiaión de los requerimien-tos temporales de las aiones de los sistemas y, por otro, los omportamientos temporales orrespondientes a los tiempos de espera de los mismos. Para ello onsideramos el uso de modelosestoástiosquepermitenlaespeiaióndelosprimerosmedianteunaestimaión probabilístia.
Como ya se ha menionado previamente, aunque la extensión de los formalismos para inluirrestriionestemporalespermite alespeiadordaruna desripiónmás preisadel sistema, haysituaiones en lasque unanoiónde tiempo determinista no esadeuada. Por ejemplo, si se desea espeiar un sistema donde se espera que un mensaje se reiba on probabilidad
1
2
enelintervalodetiempo(0
,
1]
,onprobabilidad1
4
enelintervalo(1
,
2]
,yasí suesivamente, un formalismo en elque los tiempos asoiados a las aiones serepresenten mediante tiempos jos no permitiría desribirlo on preisión. Sería neesario utilizar un dominiotemporalestoástio.Laideasubyaenteesquelainformaión temporalestá deni-da en términos probabilístios. En los modelos estoástios la duraión de las aiones se expresamediantevariables aleatorias. Ellopermitetenerexpresiones delaforma eltiempo de ejeuión de laaióna
está determinado por la distribuión de la variable aleatoriaξ
en lugar de la ejeuión de la aióna
onsumet
unidades de tiempo. Intuitivamente, la interpretaióndeunatransiiónestoástiaendihoformalismo,quepodemosdenotaromos
−−→
i/o
ξ
s
′
,indiaquesi lamáquinaestáen unestado
s
yreibe unaentradai
generará una salidao
antesdet
unidadesde tiempo on probabilidadP
(
ξ
≤
t
)
yambiará alestados
′
.
En un maro de testing de aja negra, la deteión de fallos temporales en sistemas donde el tiempo se rige de forma estoástia es todavía más ompleja que en los sistemas temporalesquetratanonotros dominiosmássenillos. Elloesdebidoaqueeltesteadorno tieneaeso a lasfunionesde probabilidad asoiadas on lasvariables aleatorias.Debido a lanaturalezaprobabilístiadelostiemposenlossistemasestoástios,eltiempoonsumido por el sistema para realizar una aión puede variar entre diferentes ejeuiones, inluso en sistemas funionalmente deterministas. Una primera aproximaión al testing formal de sistemasontiempoestoástioapareeen[MNR08℄,trabajoyaomentadoyontenidoen
Dentro de esta línea de investigaión se desarrolló un maro de testing formal para sistemasrepresentadosmedianteuna extensióndemáquinasdeestadosnitosquepermitan la desripión de requerimientos temporales, relativos tanto al tiempo onsumido por el sistema en la ejeuión de las aiones omo al tiempo que el sistema puede permaneer en un estado sin reibir unestímulodel entorno, esdeir, time-outs. Los primeros llevaban asoiadas restriiones temporales de naturaleza estoástia, mientras que los time-outs se estableen mediantetiemposjos.
Asímismo,sepropusierondiferentesrelaionesdeonformidad,distinguiéndoseentrelos aspetosfunionalesytemporales.Como yasehamenionadoanteriormente,lainlusiónde time-outs requiere su onsideraión a lahora de estableer laonformidad funional de los sistemas, ya que pueden inuir en las seuenias de entradas/salidas que el sistema puede ejeutar en ada instante.
Enloreferentealaonformidadestoástio-temporaldelossistemas,elhehodeasumir un maro de testing de aja negra impide determinar si las aiones de la implementaión tienen asoiada una variable aleatoria (desonoida) idéntiamente distribuida a la orres-pondiente enlaespeiaión(onoida).En realidad,seríaneesariounnúmeroinnito de observaiones de la implementaión para determinar esta equivalenia. Por tanto, en este maro, sedebe proponer una relaión de onformidad más realista, basada en un onjunto nito de observaiones. La idea onsiste en omprobar que para ualquier transiión de la implementaión, permitida por la espeiaión, los tiempos de ejeuión observados son ompatibles on la orrespondiente variable aleatoria de la espeiaión. Esta noión de ompatibilidad seestablee mediante unontrastede hipótesis.
Adiionalmente,sepropusounalgoritmoparaderivaronjuntosdetestsdelas espeia-iones onsiderandolasdiferentesrelaionesde onformidad. Laapliaión de esteonjunto de tests permite estableer al testeador la orreión de la implementaión respeto a la espeiaión uando los tests se pasan satisfatoriamente. En términos más ténios, el algoritmopropuesto esompleto yorreto.
Estos resultados dieron lugar a las publiaiones[MNR06b,MNR07d℄reogidas enesta tesis.
También en el ámbito de tiempos estoástios se propuso una metodología de testing para espeiaiones representadas mediante stream X-Mahines [MN07℄. En esta oasión serealizóunaadaptaión dedihoformalismoquepermitelarepresentaiónderestriiones temporalesestoástiasysedeniólaonformidadfunionaldeunaimplementaiónrespeto
embargo,laonformidadestoástio-temporalnopodíaestableerseomolaequivaleniade las variables aleatorias asoiadas a ada ómputo debido a las onsideraiones planteadas previamente. Por tanto, se onsiderónuevamente laapliaión de un ontrastede hipótesis paradeidir,paraundeterminadoniveldeonanza,siunamuestradetiemposdeejeuión deun ómputo puede generarsepor laorrespondiente variable aleatoria.
Lametodologíadetestingpropuesta enestemaroesuna adaptaióndelaténia desa-rrollada por [IH97℄ para streamX-mahines deterministas ya omentadaanteriormente. La adaptaión deestaténiaexigió larevisiónompleta delamisma,demodo quepermitiera omparar las variables aleatorias on los tiempos observados durante la interaión on la implementaión.
La noión de onformidad estoástio-temporal propuesta en estostrabajos requiere la ompatibilidad de lostiemposde ejeuión, observados altestearlaimplementaión, on la distribuión de las variables aleatorias orrespondientes de la espeiaión. Sin embargo, se podrían apliar noiones de onformidad menos estritas. Por ejemplo, podría ser su-ientequelavariablealeatoriadelaimplementaiónylaorrespondientedelaespeiaión tuviesen la misma media. Con el objetivo de apturar diferentes noiones de onformidad estoástio-temporales y proponer un maro de testing más general, ypor tanto de mayor apliabilidad, sedesarrolló el trabajo [?℄. La adaptabilidad de la metodología propuesta se resuelve mediante la deniión de una relaión de onformidad parametrizada que podrá instaniarse enada asoon la noiónde onformidad másadeuada.
La deteión de errores en esta metodología se basa en una ténia de generaión de tests a partir máquinas de estados nitos no deterministas usando la noión de maquina produto [PYB96 , Hie04 , PY05℄. La máquina produto puede verse omo la omposiión enparalelodelaespeiaión yelmodelodelaimplementaión.Intuitivamente, unestado de la máquina produto es un par
(
s, t
)
que representa estados de la implementaión y la espeiaión.Suomportamientooinideoneldelaimplementaión siésteesonsistente on elde la espeiaión;en otro aso, lleva a unestado de fallo.Por tanto, elproeso de testing onsiste en detetar si el estado de fallo es alanzable a partir del estado iniial de la máquina produto. En [?℄ el onepto de máquina produto se extiende para tratar lasituaión en quelas máquinas presentan informaión estoástio-temporal, teniendo ésta adeuadamenteenuenta.Enloreferentealaténiadegeneraióndetests,elmétodostate ounting, que proporiona obertura total de fallos en implementaiones deterministas, se extendióalnuevo marobajo lahipótesisdequeseonoeuna otasuperiordelnúmerodequepermitadetetarsi puede alanzarse elestado defallo de lamáquinaproduto.
Muhossistemas sonde naturaleza probabilístiadebido bien alusode omuniaiones en un medio on un grado de abilidad bajo, a la ompartiión de reursos o, omo en el asodelosprotoolosdeomuniaión,alapreseniaderequerimientos probabilístios.Por tanto,ladesripióndeestossistemasinluyelaprobabilidad dequelasaionesseejeuten. Esteomponente probabilístiopermiteuantiar elno determinismode lossistemas.
[HM07℄ presenta una nueva línea de trabajo en el área de testing donde se aplia la ténia de mutaión para la deteión de errores en sistemas que presentan informaión probabilístia. El formalismopropuesto paralarepresentaión desistemas onrestriiones probabilístiasesuna extensiónde lasmáquinasde estadosnitosuyastransiionestienen asoiadalaprobabilidad dequeseejeutelaaión onlaqueestá etiquetada.Enelitado trabajose onsidera una variantede la interpretaión reativa de las probabilidades [LS91 ℄. Intuitivamente, una interpretaión reativa impone una relaión probabilístia entre tran-siiones on el mismo estado de origen y que llevan asoiada la misma entrada (la salida puedeserdiferente), sinembargo,laseleiónentrediferentes entradas enunestadonoestá uantiada.
En el trabajo las mutaiones apliadas onsisten en el ambio del estado iniial o del estado alanzado por una transiión, la reaión de una nueva transiión y el ambio de la probabilidad asoiada a una de ellas. Naturalmente, si se modia la probabilidad de una transiión, la probabilidad asoiada al menos a una de las transiiones on el mismo estado de origen y la misma entrada debe ser modiada también, de modo que la suma de probabilidadesasoiadas alas mismassiga siendo
1
.Lomismo ourreuando seinluye una nueva transiión y ya existe una transiión on el mismo estado de origen yla misma entrada. Con el n de enontrar seuenias que permitan distinguir la espeiaión y los mutantes, sehanadaptadoyapliadoresultadosdeautómatasprobabilístios quepermiten estableeren tiempopolinomiallaequivaleniadeéstos,o generar,en asoontrario,dihas seuenias.Al onsiderarse un maro de testing de aja negra, si se aplia una entrada a la im-plementaión que se está testeandopodremosobservar la salida queprodue pero, al igual queen losmodelos estoástio-temporales en los queno podíamos ver la distribuión de la variable aleatoria asoiada, no obtendremos informaión de las probabilidades asignadas a las diferentes transiiones. Por tanto, aunque estas probabilidades sean jas, no se puede determinar susvaloresmediante elproeso detesteo. En esteaso, laestrategiaonsiste en
estadístios se establee el número de vees que se deben apliar los tests para obtener un determinado nivel deonanza.
Una vez estableido este maro detesting para sistemas on informaión probabilístia, ysiguiendo on la prinipal linea de investigaión de la tesis, serealizó una extensión para tratar on modelosestoástio-temporales[HM09℄. Laontribuión másimportantede este trabajo esel tratamiento simultaneo de dostiposde omportamientos no-funionales. Ello requirióla generalizaión del resultado de autómatas probabilístios,adaptado en la publi-aión anterior, a este nuevo maro. Así mismo, se añadió un nuevo operador de mutaión paramodiar lavariablealeatoria asoiadaa unatransiión.
El último bloque de esta tesis inluye dos publiaiones, Implementation Relations for the Distributed Test Arhiteture [HMN08b℄yControllable test asesfor the distributed test arhiteture [HMN08a℄, que exploran el testing de sistemas que interatúan on el entorno mediante varios interfae.Estos trabajosestudianlosproblemas deontrolabilidad y obser-vabilidad quepresentan este tipode sistemas enlafase detesting.
Algunos sistemas interatúanon su entorno mediantevarios interfaes distribuidos de-nominados puertos. Cuando se testean dihos sistemas es habitual situar un testeador en ada puerto. Silos testeadoresno pueden omuniarseyno existe un reloj global,entones estamos ante una arquitetura distribuida de testing. Usualmente, los trabajos de testing en arquiteturas distribuidas sehan entradoen máquinas de estados nitos deterministas, detetándose la posiblepresenia de tipos de dos problemas en lafase de apliaión de los tests. En primer lugar, pueden surgir problemas de ontrolabilidad en los que un testeador desonoe uandodebeapliarunaentrada. Por ejemplo,supongamosqueuntestomienza on laapliaión de una entrada
x
p
en el puertop
, queprodue una saliday
p
en el mismo puerto, y entones, el testeador de otro puertoq
debe apliar la entradax
q
. El testeador del puertoq
no sabe uando se ha apliado la entradax
p
ya que no puede observar las interaionesenelpuertop
yportantonosabeuandodebeapliarlaentradax
q
.El segun-do problema tiene relaión on la observabilidad que puede llevar a un fallo enmasarado. Supongamosque,omoenelejemploanterior,untestomienzaonlaapliaióndela entra-dax
p
ylaemisióndeunasaliday
p
enelpuertop
,aontinuaiónsedebeapliarnuevamentex
p
y observar la saliday
p
en el mismo puertop
, así omo la saliday
q
en el puertoq
. Laseueniadel test enel puerto
p
esx
p
y
p
x
p
y
p
yy
q
en elpuertoq
.Las seuenias observadas en ambos puertos serían las mismas si las salidasy
p
ey
q
se produjesen omo respuesta a la primera apliaión de la entradax
p
ytan sóloy
p
omo respuesta a la segunda entrada.arquiteturas ha estado orientado a enontrar seuenias que no presentaran problemas de ontrolabilidadyobservabilidad.
Aunque las máquinas de estados nitos deterministas son apropiadas para modelar muhas lases de sistemas, los sistemas distribuidos son freuentemente no deterministas. Ello llevó al trabajo publiado en [HMN08b℄ que estudia el testing en una arquitetura distribuidaparasistemas nodeterministas.
El formalismo elegidoen este aso fueInput Output Transition Systems,que aeptan el nodeterminismoynoexigenunalternania estrita entreentradas ysalidas.Sedenióuna nueva relaióndeimplementaión,dioo,basadaen laonoidaioo [Tre96 , Tre99℄.Aunque esta relaión de onformidad ha sidoadaptada en numerosos asos,ésta fue la primera vez que se aplió en un maro de testing distribuido. Es interesante señalar que las relaiones de onformidadioo y dioo soninomparables, aexepión delasoen el queseonsidere quelaespeiaiónseaompleta, esdeir,seespeiqueelomportamiento de lamáquina paratodaslas posiblesentradas. En esteaso, dioo esmás débil queioo. En este trabajo tambiénseproporionaunmétodoparaobtenertestsloales,paraada puerto,mediantela proyeión de untest global.
Lasegundapubliaión[HMN08a℄extiendeesteprimertrabajomediantelaonsideraión exlusiva de los tests ontrolables. Un test es ontrolable uando no puede generar una situaión en la que un testeador loal tenga que apliar una entrada o esperar una salida, dependiendodeloquehayaourridoenotropuerto.Ademásdearaterizarformalmentelos testsontrolables, semuestra omosepuede deidirentiempopolinomialsiuntesttiene la propiedad de ser ontrolable ysepresenta unanueva relaión de onformidad. Finalmente, sepropone unalgoritmoparala generaiónde testsontrolables.
Por último, en el apéndie se reogen publiaiones que omplementan el ontenido de latesis, noformando parte integral de la misma.La primera publiaión [MNR06a℄ esuna versiónpreliminarde[MNR08b℄queapareeenelprimerbloque.Delmismomodo,eltrabajo reogido en [HM07℄ representa la base de [HM09 ℄ que se inluye en el segundo bloque. Finalmente, [RMN08℄ presenta el maro
HOTL
uya extensión y adaptaión para tratar sistemason restriionestemporales[MNR07a,MNR08a℄ aparee enelprimer bloque.Estado del arte: métodos formales y
testing
Con el avane de la tenología informátia, las ténias de apoyo a la produión de software han aumentado notablemente su relevania en este área. Entre ellas, los métodos formales y eltesting han adquiridoespeialsigniaión.
El testing de los sistemasque sedesarrollanen la atualidadsupone un alto oste en el proesodeproduión,llegandoadestinarsemásdel50%delpresupuestototal del desarro-llo de un sistema a la deteión de errores. Uno de los aspetos más ostosos asoiado on lastareas detesting eseltrabajo quedebedesarrollarsemanualmente, por loquelamejora de diho proeso se ha orientado a la automatizaión del mismo. Ha habido ya numerosas propuestas, basadas en la ombinaión de los métodos formales yténias de testing, enfo-adasadihanalidad.Tradiionalmente,los métodosformalesyeltestingnoestaban muy vinulados, siendo la interaión entre ellos muy esasa. Sin embargo, durante los últimos años han llegado a ser omplementarios, existiendo muhas metodologías de testing en las quelageneraión detests sebasaenlaespeiaiónformalde los sistemas.
Porotraparte, existenmuhasténiasdetestingquetratande aumentarlaalidad del produtonalmediante elinremento de su niveldeefetividad yeienia.La efetividad seoptimizamediante elusodeonjuntosdetestsqueproporionenunaaltaprobabilidadde detetar fallos, mientras que la eienia se inrementa reduiendo el número de testsque deben ser ejeutadosparaalanzardiho objetivo.
Este apítulo presenta una revisión de los lenguajes utilizados para espeiar formal-mentesistemas para su testeo, asíomo las prinipales ontribuionesen el áreade testing formalparadihoslenguajes.
2.1. Lenguajes formales de espeiaión
Loslenguajes deespeiaióninformal aplian unaombinaión de gramátias semi-formales,texto libre yrepresentaiones gráas para desribir losrequerimientos de los sis-temas, por lo quela preisión de las espeiaiones se ve afetada por diferentes fatores, entre ellos la experienia del espeiador. Sin embargo, los requerimientos de un sistema pueden ser representados mediante el uso de lenguajes de espeiaión formales que per-mitenevitar lasambigüedades usualmente asoiadas on lasespeiaionesinformales.
Los lenguajes formales tienen omo propósito failitar una desripión rigurosa de los sistemasquesedeseadesarrollar, asíomoelanálisisde suomportamiento.En losúltimos treinta añoslosmétodosformaleshan alanzado unniveldemadurez quepermiteque sean apliados altafreuenia a lolargo de todo elilode vida deldesarrollo de unsistema, en espeial, uando lossistemas requieran unalto nivelde seguridad.
Un lenguaje formal utiliza una sintaxis que permite desribir de forma preisa la es-peiaión de los sistemas, textual o gráamente. También presenta una semántia que proporionaunsigniadopreisodeadadesripióndelossistemasparalasqueel lengua-je se usa. La espeiaión de un sistema suele ontemplar diferentes aspetos del mismo, inluyendo su omportamiento funional,su estrutura oarquitetura einlusoaspetosno funionales, omo propiedades temporales o de rendimiento, por lo que la eleión de un lenguaje u otro vendrá determinado por la adeuaión del mismo a las araterístias de ada sistema.
A ontinuaión serevisan los prinipales lenguajes de espeiaión formales usados en marosformales pararealizar testingysu apliabilidad alos diferentestiposdesistemas.
2.1.1. Lenguajes basados en modelos
Haydiferentesmodosdedesribir la espeiaiónde un sistema,siendo uno deellos la onstruión de un modelodel omportamiento previsto. Lenguajes omo Z [Spi88 ,Spi92 ℄, VDM[Jon91 ℄yB[Abr96 ℄permitendesribirlosestadosdelsistemajuntoonlasoperaiones queprovoan elambiode estado.En estoslenguajes losestadosde un sistemasuelen des-ribirse mediante onjuntos, seuenias,relaionesyfuniones,mientrasquelasoperaiones
2.1.2. Lenguajes basados en estados nitos
Los lenguajes basados en modelos permiten desribir sistemas generales, en partiular, sistemas quepotenialmentepueden presentar innitosestados. Este aráter general tiene omo inonveniente que el razonamiento sobre los mismos sea menos suseptible a la au-tomatizaión. Los lenguajes de espeiaión basados en estados nitos, omo su nombre sugiere,permitenladeniióndeunonjuntonitodeestados,quesuelenserrepresentados gráamentemediante transiionesqueindianlosambiosentredihosestados.Entreestos lenguajesabedestaarlasmáquinasdeestadosnitos(FSM)[LY96 ℄,SDL[CCI88,ITU92℄, Stateharts [Har87 ,HG97℄yX-mahines [HI98℄.Lamayorpartedeltrabajodesarrolladoon FSMs en elárea de testing ha sido motivado por el testing de protoolos de omuniaión, yaquelasFSMssonmuyapropiadasparalaespeiaiónde laestruturadeontroldelos mismos.Conposterioridad,eltestingbasadoenFSMsha sidoapliadoen eláreadetesting basadoenmodelos,enelquelasespeiaionesseutilizan paradirigirelproesodetesting. En muhos asos, estos lenguajesde espeiaión permiten la representaión de datos internos adiionales. Las operaiones representadas por las transiiones pueden aeder a estosdatosymodiarlos,pudiéndose estableertambiénondiionessobrelosmismos. Las maquinasdeestadosnitosquepresentanestasaraterístiassononoidasomomáquinas deestados nitos extendidas (EFSM).
Otroformalismodeespeiaiónquepermitelaintegraióndelaestruturadeontroly losdatosdeunsistemasonlasX-mahines.Estasmáquinasdisponendeunamemoriainterna yun onjunto de funiones de proeso que etiquetan las transiiones entre estados. Dihas funionesestán denidassobre elonjunto deentradas posibles ylos valoresde lamemoria, produiendo en ada aso lasalida esperada. Este formalismo fue introduido en [Eil74 ℄, y posteriormente propuesto por Holombe en [Hol88℄omo lenguaje de espeiaión.Se han estudiado y desarrollado diferentes tipos de X-mahines basados en restriiones sobre el onjunto de funiones y datos, siendo las stream X-mahines [Lay92 ℄ las que han reibido unamayor atenión.
2.1.3. Lenguajes basados en álgebras de proesos
Las álgebras de proesos, véase [BPS01 ℄ para tener una visión panorámia del ampo, permiten desribir sistemas on proesos onurrentes, donde varios proesos interatúan omuniándose entre ellos. Entre estos lenguajes se inluyen CSP [Hoa85 ℄, CCS [Mil80, Mil89 ℄,ACP[BW90 ℄,
π
-alulus [MPW92 , Mil99 ,AG99 ℄yLOTOS[LOT88℄.to de una espeiaión denida mediante un álgebra de proesos. Ello ha llevado a que el testingde sistemasdesritosmediante estoslenguajessehaya entrado eneltesting deeste tipo desistemas.
2.1.4. Lenguajes algebraios
Aunque las álgebras de proeso son adeuadas para la manipulaión algebraia, hay lenguajes que desriben los sistemas en términos de sus propiedades algebraias, mediante axiomas y reglas que araterizan ompletamente las propiedades deseadas. Ejemplos de estoslenguajessonOBJ [GT79 ℄yCASL [BM04,Mos04℄.
En términos matemátios, unálgebra onsiste en un onjunto de símbolos quedenotan valoresdealgúntipoyunonjuntodeoperaionessobrelosmismos.Paradesribirlasreglas quegobiernan elomportamiento de las operaioneses neesario espeiarlasintaxis yla semántia de las operaiones. En este tipo de lenguajes, la primerausa una signatura para ada operaión, indiando su dominio y rango. En uanto a la semántia, ésta viene dada mediante euaiones quede modoimplíito desriben las propiedadesrequeridas.
2.2. Ténias de testing
El desarrollodesoftwarehapasadodeserunproesoonstituidoporpoastareasenlas queintervienenpoaspersonas,aserunproesomuyomplejoenelquepartiipangrandes equipos. Ello ha provoado que el proeso de testing haya pasado en muhos asos de ser realizado por un solo ingeniero a involurar a todos los partiipantes en ada una de las etapasde desarrollo. Por tanto,sehaonvertido enunaneesidad labuenaplaniaión de estatarea en elilode vidade laproduión deun sistema.
Las tareas de testing están asoiadas prinipalmente on el hequeo empírio de la o-rreiónde lossistemas.Por elontrario, losmétodosformaleshan estado relaionadoson la veriaión formal de la orreión de los mismos. El uso onjunto de métodos formales ytesting, desdeuna etapainiial de laproduión delsistema, puede reduireloste de su desarrollo.
Cuandoseutilizaunlenguajedeespeiaiónformal,sepuedeapliarunanálisisformal en lasfases de espeiaión, diseño yodiaión. Ello puede suponertan sólo la ompro-baión de iertas propiedades, o elestableimiento formal de laonformidad de un sistema on respeto asu espeiaión.Estas demostraiones sepueden realizar, en algunosasos,
El proesode testingimplia laejeuión de laimplementaión quedebeser hequeada: se aplia una seuenia de entradas al sistema y se observan las salidas reibidas. Esta relaión entre entradas y salidas permite estableer laadeuaión del sistematesteado a la espeiaión delaquepartimos.Lasseuenias de entradas apliadasa laimplementaión sellamantests.Entrelasdiferentesténiasdetestingsepuede distinguirentreeltestingde aja negra yel testingde aja blana. Enel testing de aja negra un sistemasehequeasin queseonozasu estruturainterna. Lostestssegeneranapartirde laespeiaión ysólo sedisponedeinformaiónaeradelassalidasesperadasparalasentradasapliadas.Yaque no se va a ontar on ninguna informaión sobre ómo ha sido desarrollado el sistema, los testssepueden generar apartir delmomento en que laespeiaión está disponible. Otra ategoría esel testing de aja blana, que utiliza informaión de laestrutura interna de la implementaión paralageneraiónde tests.Eneste tipode testing, sepueden generar tests on elnde hequear araterístias espeíasdelsistema.
Además de poderargumentarsi una téniade testingpuede estableer laonformidad deuna implementaión respetoauna espeiaión mediante undeterminado onjunto de tests,hayotraspropiedadesde dihasimplementaiones quesepueden estableer.Estaidea seformaliza en[GG75℄ mediantelasnoiones de orreión y ompletitud.
Un onjunto de tests es orreto si es apaz de detetar la inorreión de ualquier sistema erróneo. Por otra parte, un onjunto de tests es ompleto si el heho de que un sistema supere la apliaión de todos los tests del mismo permite deduir la orreión del sistema. Por tanto, si el onjunto de tests derivado mediante una ténia espeía de testingesorretoyompleto, suapliaión determinarálaorreiónoinorreióndeuna implementaión. En general, para que una ténia de testing tenga estas dos propiedades se requiere la generaión de un onjunto innito de tests, lo que no permite su apliaión prátia y hae neesario apliar un riterio de seleión que permita obtener un onjunto nito. En la mayoría de los asos, los riterios de seleión se basan en hipótesis omo si el sistema es orreto para un subonjunto de los valores de entrada permitidos entones es orreto para todos o si un sistema es orreto para un valor de todos los que pueden ser apliados en una determinada seuenia, entones es orreto para todos los valores posibles.Aunquehaymuhashipótesisposiblesparalaseleióndetests[Gau95℄sepueden identiardostiposprinipales:hipótesisdeuniformidadehipótesisderegularidad.Elprimer tipo hae referenia a la uniformidad delomportamiento de un sistemasobre unrango de datos.Elsegundotiposerelaionaonlaregularidaddelomportamientodelsistemauando
orretamenteparaunbuerdetamaño
0
,1
,y2
,entonesloharáseaualseaeltamañodel mismo.La ideade hipótesis está muyrelaionada on lanoiónde modelo de fallos [IT97℄: un onjunto de modelos entre los uales se enuentra uno (desonoido) funionalmente equivalente a laimplementaión testeada.Una vez estableido el onjunto de hipótesis o el modelo de fallos más apropiado, la téniadetestingdebegenerar unonjunto detestsquepermitaestableer laorreiónde lossistemas respeto alas espeiaiones, asumiendoque seumplen dihashipótesis.
Aontinuaiónserevisandiversasmetodologíasdetestingpropuestasparalosdiferentes formalismospreviamente presentados.
2.2.1. Testing para espeiaiones formales basadas en modelos
Haymuhostrabajosde testingorientados aespeiaionesZ, B,yVDM.Lasténias degeneraióndetestsparaellosestánbasadasenhipótesisdeuniformidad.Eldominiodelos valoresde entradaespartiionadoensubdominios enlosqueelomportamiento delsistema seasume uniforme. Si lahipótesis de uniformidad seumple, basta on apliar un datode ada lase paratestear elsistema.Muhasde las téniasde derivaiónde testspropuestas en este ámbito han sido automatizadas; en ellas son apliadas diferentes heurístias para realizar la partiión en lases de equivalenia y la seleión de los datos que se utilizarán duranteelproeso detesteo.
[Hal89 ℄proponeunmétododetestingparaespeiaionesZbasadoenunalasiaión endominiosdetests.Laideasebasaenonsiderardiferentesombinaionesdesubdominios obtenidosmediante lapartiión de los onjuntos de entradas, salidasy estadosylas ondi-iones ontenidas en los prediados de la espeiaión. [DF93 ℄ demuestra que, mediante la reesritura de lapreondiión y la postondiión de una espeiaión en forma normal disyuntiva, unagranparte delproeso deanálisis departiión puede ser automatizado.Así mismo,los autoresdesriben unaténiaparagenerar apartirde laespeiaión,un autó-matanitoquepuedeserusadoparadirigirelproesodegeneraióndetests.Laombinaión de partiión de ategorías y forma normal disyuntiva fueron apliadas para las generaión de testsen[SCS97 ℄.
Unapropuestaompletamentediferenteeslamutaióndeespeiaiones[CS94 ℄.Laidea estáinspiradaen laténiade testingmediante mutaiónde programas[How82 ,BM99℄.La apliaióndeoperadoresdemutaiónalaespeiaióngeneramutantes.Paraadamutante obtenido se genera un test que distinga el omportamiento de éste y la espeiaión. La
distinguirentreunmutante ylaespeiaión,tambiéndistinguiráentrelaespeiaión y unaimplementaión inorreta.
2.2.2. Testing basado en máquinas de estados nitos
Muhos sistemas tienen una estrutura de estados nitos y por ello las FSMs son un formalismoadeuadoparasurepresentaión. Porello,eltestingdeFSMshareibidomuha atenión. Moore planteó el maro oneptual de testing basado en FSMs en su traba-jo [Moo56℄ referido a un onepto muy utilizado en la físia, los experimentos gedanken. Losprinipiosfundamentalesdelhequeo detransiionesfueronenuniados en[Hen64 ℄, tra-bajomotivado por eltestingdeiruitosseueniales, quemástarde fueapliadoaltesting deprotoolos deomuniaión[LY96℄.
LasFSMsdenenunlenguajerelativamente pobreenuantoaexpresividadyténiasde abstraión.Sinembargo, lafaltadeexpresividadtienegrandesventajasuandoseanalizan las FSMs. Muhos problemas que no son deidibles en maros más generales lo son para FSMs,yfreuentementeademásonomplejidadpolinomial,loquefailitalaautomatizaión delageneraióndetests.Comosedijoanteriormente,muhaspropuestasparatestingbasado enFSMs onsideran ohipótesis o unmodelo defallos.En ambosasos,elonjunto de tests garantiza la determinaión de la orreión de los sistemas siempre que se umplan las hipótesis onsideradas. En el testing basado en una espeiaión representada mediante una FSM,es normal asumir que laimplementaión esequivalentea una FSMdesonoida, y que el onjunto de tests generado permite hequear si la implementaión es onforme a laespeiaión. Sila espeiaión esdeterminista lanoiónde onformidad oinide on la equivalenia de espeiaión e implementaión. Si la espeiaión es no determinista hay noiones alternativas de onformidad, omo onsiderar que el omportamiento de la implementaión esunsubonjunto del omportamiento delaespeiaión.
FSMs ompletamente espeiadas y deterministas
Enprimerlugartrataremoselasode lasFSMsompletamenteespeiadas,mínimasy deterministas,estoes,máquinasdondeparaadaentradadisponibleyadaestadoexisteuna úniatransiión etiquetadaondihaentrada,notienenestadosequivalentesytodaentrada tieneuna transiión asoiadaen ada estado.Eneste aso larelaiónde onformidad entre la espeiaión y la implementaión es la equivalenia, es deir, se produen las mismas seuenia de salidas para las mismas seuenias de entradas. El método de reorrido de
todaslastransiionesde laespeiaión.Estemétodo sóloestáorientadoaladeteiónde fallosdesalida. La variantedeeste método presentadaen[SMIM90℄ tienemenos apaidad dedeteióndefallos:ubretodoslosestados,perononeesariamentetodaslastransiiones. El método D [Hen64 , Gon70 , Koh78 ℄ asume omo hipótesis que la implementaión no tiene más estados que la espeiaión. El método hequea todas las transiiones on el n de loalizar tanto fallos de salida omo de transiión de estados. Este método ha sido optimizado parareduirelnúmero detestsneesarios [UWZ97 ,HU02℄.
Otra propuesta está basada en seuenias únias de entrada/salida (UIO) [SD88 ℄. En esteasolashipótesisson,porunaparte,quelaimplementaiónnotienemásestadosquela espeiaión y, por otra, que existe un reset que lleva laimplementaión alestado iniial. LasseueniasUIOseusanparaveriarquetras unaseriede interaiones, lamáquina se enuentraen elestado esperado.
Cuando no seumple lahipótesisde que elnúmero de estadosde laimplementaión no supera al de la espeiaión, se puede apliar el método W [Vas73 , Cho78 ℄. En este aso se onsidera que existe una ota superior en el número de estados de la implementaión y unreset orretamenteimplementado. Bajo estasondiiones elmétodo proporiona ober-tura total de fallos. Este método genera el onjunto de tests basándose en un onjunto de araterizaión yunonjunto deobertura de estados.
FSMs pariales
La mayoría de las espeiaiones reales son pariales, por lo que no ubren todas las posibles ombinaiones de estado/entrada. Debido a las diferentes interpretaiones de las transiiones no denidas han sido onsideradas diversas semántias [BP94 ℄. Puede onsi-derarse que estas transiiones están implíitamente denidas, es deir, se sustituyen por transiiones on el mismo estado de origen y destino on salidas nulas, o bien por tran-siiones que llevan a un estado de error y produen una salida de error. De este modo se obtieneunaFSMompletamenteespeiadaysepuedenapliarlasestrategiaspresentadas anteriormente. Otra posibleinterpretaión onsideraquesontransiiones prohibidas, por lo quenodeberían serejeutadasporlaimplementaión. Enonseuenia,elonjunto detests no debe onsiderar estastransiiones.
FSMs No Deterministas
peiado,enuyoasolaonformidaddelaimplementaiónorresponderáalaequivalenia delamismarespetoalaespeiaión.Sinembargo,lapreseniadenodeterminismopuede representar un abanio de opiones, por lo que será suiente que los omportamientos de laimplementaión seanun subonjunto de los espeiados.
El no determinismo presenta unauestión atener en uenta: La observabilidad de ada posiblerepuestaasoiadaon unaseueniadeentradas enpartiular.Conelndeabordar esteproblemaesfreuente asumirlahipótesisdequeexiste unnúmeromáximo
n
,demodo quesiunamismaseueniadeentradashasidoapliadan
veesenunestado,entonesestá garantizadoquetodaslasposiblessalidasasoiadasondihoestadoyseueniadeentradas hansido observadas.Esta hipótesisseonoe omo fairness hypothesis.FSMs extendidas
Unamáquinadeestadosnitosextendida(EFSM)esunaFSMonparámetrosdeentrada y salida, variables auxiliares y operaiones y prediados denidos sobre las variables y los parámetrosdeentrada.Siseapliaunahipótesisdeuniformidadalosdatosesposiblegenerar un onjunto de tests abstrayendo los itados parámetros de la EFSM. En onseuenia, el proesode testingestará orientadoa laestrutura deontrol de laimplementaión [DU04℄. Sino se asume la hipótesis de uniformidad entones el proeso de testing afetará tanto a la estrutura de ontrol omo a la estrutura de datos. Estos dos omponentes se testean independientemente,apliandométodosbasadosenFSMsparalapartedeontrolymétodos de testing para el ujo de datos a la parte orrespondiente a los mismos [USW00 ℄. Bajo hipótesisténiaspreisasunaEFSMsepuedetransformarenunaFSMequivalente.Aunque estas transformaiones freuentemente onllevan un problema de explosión de estados, en algunos asoshaymétodosefetivospararealizar laonversión [PBG04 ℄.
Una estrategiaalternativa está basada en el usode onjuntos de propósitos de test. Un propósitode testesunadesripióndeunrequerimiento parauntest,omoporejemplo, la ejeuión deuna transiión ouna seueniade transiionesen partiular,ypuede represen-tarsemedianteunautómatade estadosnitos.Paraadapropósitodetestsegenerauntest quelosatisfae.Eltestpuedeonstruirseautomátiamenteapliandoanálisisde alanzabili-dadalprodutodelpropósitodetestylaespeiaión.Aunqueelanálisisdealanzabilidad sufredelproblemade explosióndeestados, hayherramientas queaplianunaestrategia on-the-y,omo TGV, que sonefetivasen la prátia[KJG99 ℄. Usualmente lospropósitos de test sonproporionados por el testeador, peropueden obtenerse también automátiamente
de test estableido, omo podría ser la ejeuión de todas sus transiiones. Otro tipo de propósito de test, más restringido, onsiste en requerir una seuenia de interaiones que puede desribirse mediante un message sequene hart (MSC). Existen herramientas omo AUTOLINK queaplian un análisisde alanzabilidadalproduto delaespeiaiónyun MSCparaproduir untest apropiado [SEK
+
98 ℄.
Finalmente, se ha abordado también el problema de testing mediante la onversión en FSM equivalentes de espeiaiones realizadas en el ontexto de otros modelos formales, on el n de apliar los métodos de testing basados en diho formalismo. Entre ellos se inluyen métodos de onversión de variantes de espeiaiones Z [DF93 , Hie97 , DB99℄, Stateharts [HSS01 ℄ySDL[BPBM97 ℄.
Stream X-Mahines
El primer método de testing basado en Stream X-Mahines se propuso en [IH97, HI98℄ parasistemasdeterministas. Estaténiade testinggenera unonjunto de testsapartir de unaespeiaión,asumiendoquelasfunionesdeproesoasoiadasalastransiionesestán orretamenteimplementadas.Además,serequierequeelonjuntodefunionesdela espei-aión y laimplementaión oinidan, y quese satisfagan dos ondiiones, habitualmente denominadas design for test onditions. Estas ondiiones onsisten en la distinguibilidad de las funiones de proeso mediante las salidas emitidas y la seguridad de que mediante lasentradas apropiadasdihasfunionespodrán serhequeadasen laimplementaión.Este método ha sido generalizado en [Ipa04℄ para suprimir la hipótesis de la orreión de la implementaión de las funiones de proeso. Así mismo, se relaja la restriión de que el onjunto defunionesdeba oinidir en laespeiaión ylaimplementaión.
También existen propuestas para máquinas no deterministas. En [IH00℄ se extiende el métodoparaubrir máquinasnodeterministasysepresentaunaténiadetestingenlaque lanoióndeorreióneslaequivaleniademáquinas.Otrametodologíaalternativahasido propuesta en [HH00, HH04℄,en ella sehae usodel método de testing onoidoomo state ounting yse onsidera una noiónde onformidad basadaen que los omportamientos de laimplementaión sonun subonjunto de los delaespeiaión.
2.2.3. Testing para álgebras de proesos
El prinipal estudio de testing en este área fue desarrollado por de Niola y Hennessy [dNH84,Hen85 , Hen88℄.Ellos introdujeron diferentes preordenes y equivalenias para