scieee Open visual document viewer

RESDEC: Un prototipo de herramienta para la selección de configuraciones de despliegue basada en Sistemas de Recomendación

Rodas, Jorge L.; Galindo Duarte, José Ángel; Benavides Cuevas, David Felipe

Abstract

Los sistemas de alta variabilidad son sistemas que representan cientos de configuraciones distintas. En un contexto particular, estas configuraciones pueden ser desplegadas en distintos entornos de despliegue lo cual es una decisión crítica para el correcto funcionamiento de la misma. Por ejemplo, determinar en qué dispositivo móvil se va a ejecutar correctamente nuestra app, es una tarea difícil de resolver. En este artículo presentamos RESDEC, un prototipo de herramienta para asistir al ingeniero de software en la toma de decisiones para el despliegue. Concretamente RESDEC provee algoritmos de recomendación para tres escenarios de despliegue distintos.

Full text

RESDEC: Un p o o ipo de he amien a pa a la selecci´on de con igu aciones de despliegue basado en Sis emas de Recomendaci´on Jo ge L. Rodas1, Jos´e A. Galindo2, and Da id Bena ides2 1Uni e sidad Es a al de Milag o, Facul ad de Ciencias de la Ingenie ´ıa, Cdla. Uni e si a ia Km 1 1/2 ´ıa Km 26, Milag o - Ecuado , [email p o ec ed] 2Uni e sidad de Se illa, Dep . Lenguajes y Sis emas In o m´a icos, A . Reina Me cedes s/n Se illa - Espa˜na, [jagalindo,bena ides]@us.es Abs ac . Los sis emas de al a a iabilidad son sis emas que ep e- sen an cien os de con igu aciones dis in as. En un con ex o pa icula , es as con igu aciones pueden se desplegadas en dis in os en o nos de despliegue lo cual es una decisi´on c ´ı ica pa a el co ec o uncionamien o de la misma. Po ejemplo, de e mina en qu´e disposi i os m´o iles se a a ejecu a co ec amen e nues a app, es una a ea di ´ıcil de esol e . En es e a ´ıculo p esen amos RESDEC, un p o o ipo de he amien a pa a asis i al ingenie o de so wa e en la oma de decisiones pa a el despliegue. Conc e amen e RESDEC p o ee algo i mos de ecomendaci´on pa a es escena ios de despliegue dis in os. Keywo ds: Sis emas de al a a iabilidad, Sis emas de ecomendaci´on, Valo- aciones, Con igu aciones 1 An eceden es Los sis emas de al a a iabilidad son sis emas de so wa e cuyo compo amien o se puede pe sonaliza de acue do con las necesidades espec´ı icas de un con ex o pa icula [2]. Los modelos de ca ac e ´ıs icas [7] se han con e ido en el es ´anda de ac o pa a ep esen a ca ac e ´ıs icas comunes y a iables en Va iabili y- in ensi e Sys em (VIS). Cuando el n´ume o de combinaciones en un modelo c ece exponencialmen e, hace que el an´alisis y la mejo a de dichos sis emas sea una ac i idad cos osa y p opensa a e o es. Pa a ali ia el p oblema, in es igado es han p opues o el uso del an´alisis au oma izado de modelos de ca ac e ´ıs icas [3]. Sin emba go, es e p oblema se uel e cada ez m´as di ´ıcil cuando hay m´ul iples y di e sas pla a o mas pa a implemen a un p oduc o. Po ejemplo, pa a decidi en qu´e pla a o mas de implemen aci´on es mejo ins ala D upal o Wo dp ess, o en qu´e el´e onos m´o iles debemos ins ala una aplicaci´on de And oid [5]. En ales casos, la selecci´on de la pla a o ma de implemen aci´on ´op ima se con ie e en una ac i idad c ´ı ica que puede a ec a la expe iencia del usua io. En la indus ia, podemos encon a p opues as basadas en p opiedades es- uc u ales y a ibu os de calidad que apun an a selecciona con igu aciones ´op imas pa a una a iedad de casos de uso, como el es ing o la p edicci´on del endimien o. Sin emba go, hay una al a de sopo e pa a bene icia se de o os a e ac os, ales como in o mes de usua ios o ankings de aplicaciones que e al´uan qu´e an bien se ealiz´o una con igu aci´on en una pla a o ma de im- plemen aci´on conc e a. En es e documen o, p oponemos explo a in o mes de usua ios pa a guia la selecci´on de pla a o mas de implemen aci´on; es o es, pa a encon a qu´e pla a o mas de implemen aci´on se adap an mejo a un usua io conc e o y a una con igu aci´on espec´ı ica. En consecuencia, hemos encon ado en los sis emas de ecomendaci´on una al e na i a ideal pa a guia al usua io en la b´usqueda de con igu aciones de im- plemen aci´on que sa is agan sus necesidades. Un sis ema de ecomendaci´on es un so wa e que, en unci´on de los da os exis en es, in en a p edeci p oduc os pa a que se adap en mejo a las necesidades o gus os de un usua io [4]. En es e pape p esen amos RESDEC(Recommenda ion Sys em o Selec ing Deploymen Con- igu a ions), un p o o ipo de he amien a basada en sis emas de ecomendaci´on que ayuda al ingenie o de so wa e a selecciona el mejo en o no de despliegue pa a con igu aciones de VIS basadas en in o mes de usua ios. 2 RESDEC: Un p o o ipo de he amien a pa a ecomenda es a egias de despliegue RESDEC ue dise˜nado pa a sopo a dos ases al como se mues a en la Figu a 1. Base de Conocimien o Gene ado de Recomendaciones 12 In o mación Basado en il ado colabo a i o Basado en il ado po con enido Basado en popul idad Escena ios de despliegue A anque en ce o T ansición en e pla a o mas de despliegue basadas en alo aciones T ansición en e pla a o mas de despliegue basadas en ca ac e ís icas En o no de a iabilidad 105 Algo i mos Selección Escena io Fig. 1. Fases pa a es ablece ecomendaciones en escena ios de despliegue 2.1 Base de conocimien o: La base de conocimien o con iene la in o maci´on sob e la sa is acci´on de los usua ios en despliegues an e io es. Es a in o maci´on puede ep esen a c i e ios de e aluaci´on dados p e iamen e po los usua ios en elaci´on a gus os, uncional- idad, e o es o despe ec os que puede p esen a un p oduc o. En nues o caso, los alo es que se ex aen de los in o mes de usua ios, e lejan los ni eles de sa is acci´on en elaci´on al uso de un p oduc o po pa e del usua io. 2.2 Gene ado de Recomendaciones: RESDEC se ejecu a en es escena ios di e en es de acue do a las necesidades espec´ı icas del ingenie o de so wa e: P ime despliegue o a anque en ce o. El p ime escena io se p esen a cuando un usua io nue o del sis ema desea conoce qu´e con igu aciones se ´ıan las m´as adecuadas pa a un p oyec o en pa icula . Es o ocu e po ejemplo, cuando el ingenie o de so wa e cons uye un si io web nue o y necesi a una asis encia guiada en la selecci´on de plugins que pod ´ıan se ins alados den o del si io. Pa a ealiza ecomendaciones en es e escena io hemos empleado un algo- i mo basado en popula idad, pe enecien e al g upo de algo i mos no pe son- alizados. Aunque el m´e odo de ecomendaci´on que u iliza es e algo i mo pa ece simple, es uno de los m´as popula es en escena ios eales, ales como: la lis a de p oduc os m´as endidos en Amazon, los ´ıdeos con mayo isi as en Y ou ube, las canciones m´as escuchadas en Spo i y, las pel´ıculas m´as is as en Ne lix, en e o os. T ansici´on en e pla a o mas de despliegue basadas en alo aciones. El segundo escena io se p esen a cuando un usua io que ha usado p e iamen e una con igu aci´on de un p oduc o quie e explo a o as con igu aciones pa a ob ene nue as al e na i as de ecomendaci´on. Es o ocu e, po ejemplo, cuando el ingenie o de so wa e iene publicado un si io web que inco po a una se ie de plugins y basado en esa expe iencia desea conoce qu´e o os plugins simila es a los ins alados pod ´ıan ambi´en implemen a se; pa a ello, el sis ema u iliza in o maci´on de unos usua ios pa a p oduci ecomendaciones a o os. Pa a ealiza es e ipo de ecomendaciones hemos in eg ado en RESDEC es algo i mos de ecomendaci´on basados en il ado colabo a i o (FC). Seg´un la clasi icaci´on, del g upo Neighbo hood-based Collabo a i e Fil e ing (Knn) [6] hemos seleccionado el algo i mo ”KNNBasic” y el algo i mo ”KNNWi hMeans”; y del g upo Model-based Collabo a i e Fil e ing hemos elegido el algo i mo de ac o izaci´on de ma ices SVD (Singula Value Decomposi ion). T ansici´on en e pla a o mas de despliegue basadas en ca ac e ´ıs icas. El e ce escena io adem´as de u iliza las alo aciones que ecibe una con igu- aci´on, ambi´en conside a las ca ac e ´ıs icas que el usua io de ine pa a las con- igu aciones que el sis ema de uel e. Cuando un usua io especi ica las ca ac- e ´ıs icas eque idas pa a una con igu aci´on es ´acil pa a el sis ema encon a las con igu aciones que mejo se adap en den o de esos equisi os y de esa mane a es ablece las mejo es ecomendaciones. Es o ocu e po ejemplo, cuando el ingenie o de so wa e es ´a desa ollando un si io web y necesi a ins ala un conjun o de plugins que se ajus en a los eque imien os del si io, en es e caso a a ´es de los ags asociados a los plugins se pod ´ıan encon a ´acilmen e plugins pa a el ca ´alogo de p oduc os, el buscado de p oduc os, la pasa ela de pagos, el ca i o de comp as en e o os componen es que pod ´ıan eque i se pa a el co ec o uncionamien o del si io web. Pa a hace ecomendaciones basados en la desc ipci´on de cada con igu aci´on, hemos in eg ado en RESDEC dos algo i mos basados en il ado po con enido, Rocchio [1] y kNN [8], es e ´ul imo simila al u ilizado po el g upo de il ado colabo a i o no obs an e su a iaci´on adica en la unci´on de simili ud u ilizada. 2.3 Da ase s y alidaci´on. Da ase de disposi i os And oid: Pa a ecopila la in o maci´on de And oid, se ealiz´o una encues a a 2,099 usua ios de la comunidad de es udian es y do- cen es de la Uni e sidad Es a al de Milag o, Ecuado . Es o nos pe mi i´o cono- ce qu´e aplicaciones son las m´as u ilizadas po los usua ios, los disposi i os que u ilizan y las pun uaciones que o o gan a las aplicaciones ins aladas en sus dis- posi i os de acue do al uncionamien o que han enido en el mismo. Despu´es de conoce los disposi i os usados po los usua ios encues ados, ob u imos in- o maci´on expl´ıci a sob e las ca ac e ´ıs icas de cada uno de ellos a a ´es de in o maci´on disponible en el si io web h p://www.gsma ena.com/. Da ase de Wo dp ess: Es e da ase con iene in o maci´on sob e el ges o de con enidos wo dp ess. Pa a ob ene in o maci´on de es e en o no, se desa oll´o un c awle que ex ae da os que elaciona los plugins con los ags asociados a los mismos. Es o nos pe mi i´o conoce qu´e plugins son los m´as u ilizados po los usua ios y las pun uaciones que se les o o gan. La b´usqueda sigui´o un p oceso sis em´a ico pa a ex ae da os u ilizando el sis ema de p ueba Selenium (h p://www.seleniumhq.o g/). Resul ados: Nues as p uebas incluye on la gene aci´on au om´a ica de e- comendaciones de en e un conjun o de da os de 832 disposi i os m´o iles en And oid y 634 plugins de Wo dp ess. Acceso al c´odigo y demos aci´on del p o o ipo. El c´odigo uen e de RES- DEC se puede desca ga desde el si io web del p oyec o h ps://gi hub.com/ RESDEC. La he amien a jun o con el conjun o de da ase s p esen ados en es e abajo, es ´a disponible en el si io web de RESDEC h p:// esdec.com/. Re e ences 1. Gediminas Adoma icius and Alexande Tuzhilin. Towa d he nex gene a ion o ec- ommende sys ems: A su ey o he s a e-o - he-a and possible ex ensions. Knowl- edge and Da a Enginee ing, IEEE T ansac ions on, 17(6):734–749, 2005. 2. Muhammad Ali Baba , Lianping Chen, and Fo es Shull. Managing a iabili y in so wa e p oduc lines. So wa e, IEEE, 27(3):89–91, 2010. 3. Da id Bena ides, Se gio Segu a, and An onio Ruiz-Co ´es. Au oma ed analysis o ea u e models 20 yea s la e : A li e a u e e iew. In o ma ion Sys ems, 35(6):615– 636, 2010. 4. Jes´us Bobadilla, Fe nando O ega, An onio He nando, and Ab aham Gu i´e ez. Recommende sys ems su ey. Knowledge-Based Sys ems, 46:109–132, 2013. 5. Jos´e A Galindo, Hamil on Tu ne , Da id Bena ides, and Jules Whi e. Tes ing a iabili y-in ensi e sys ems using au oma ed analysis: an applica ion o and oid. So wa e Quali y Jou nal, pages 1–41, 2014. 6. Anil K Jain. Da a clus e ing: 50 yea s beyond k-means. Pa e n ecogni ion le e s, 31(8):651–666, 2010. 7. Kyo C Kang, Sholom G Cohen, James A Hess, William E No ak, and A Spence Pe- e son. Fea u e-o ien ed domain analysis ( oda) easibili y s udy. Technical epo , DTIC Documen , 1990. 8. Michael Pazzani and Daniel Billsus. Lea ning and e ising use p o iles: The iden- i ica ion o in e es ing web si es. Machine lea ning, 27(3):313–331, 1997. Ap´endice A: Tiempo planeado pa a la p esen aci´on de la he amien a 5min – P esen aci´on del p oblema y alcance de la he amien a. 5min – P esen aci´on del p oblema al que se di ige RESDEC con un b e e ejemplo de la aplicaci´on. 5min – Demos aci´on de los ipos de ecomendaci´on que RESDEC emplea pa a di e en es escena ios. 5min – Demos aci´on de las capacidades de la he amien a pa a selecciona y p io iza con igu aciones en un conjun o de da os de disposi i os m´o iles And oid. 5min – Conclusiones del abajo Ap´endice B.- Cap u as de pan alla de la he amien a: Caso ANDROID Fig. 2. Pan alla p incipal de RESDEC, en la pa e izquie da un men´u lo an e mues a las opciones ag upadas po el en o no de despliegue y el ges o de ecomendaciones. Fig. 3. La en ana de p oduc os pe mi e la ges i´on (c eaci´on, modi icaci´on y elimi- naci´on) de los p oduc os (disposi i os) pe enecien es al en o no de a iabilidad medi- an e el cual el sis ema es ablece las ecomendaciones. Fig. 4. La en ana de Apps, pe mi e la ges i´on c eaci´on, modi icaci´on y eliminaci´on) de las aplicaciones que ue on desplegadas en los disposi i os egis ados en la opci´on p oduc os. Fig. 5. Mues a los esul ados ob enidos cuando se ejecu a el p ime escena io de nues- a p opues a, en es e caso se obse a las ecomendaciones basadas en el op de popu- la idad.