Está en la página 1de 2

FastFix: control de supervisión para el mantenimiento remoto del software

Dennis Pagano Miguel A. Juan Alessandra Bagnato Tobias Roehm, Bernd Bruegge y Walid Maalej
TU München S2 Grupo Soluciones electrónicas TXT TU München
Munich, Alemania Valencia, España Milán, Italia Munich, Alemania
pagano@cs.tum.edu mjuan@s2grupo.es alessandra.bagnato@txt.it {roehm, bruegge, maalejw}@cs.tum.edu

, "-. * $ '/ 00)% 1" 23+' '


Resumen —Los servicios de soporte y mantenimiento de software son 45 + 26 * '
: * + # 3- # ' / 1 $ 5 "$ 3- # '
7 + 8% -3 + 6 * + $ '
factores clave para la percepción del cliente de la calidad del producto de
: * + # 3- # ''
software. El objetivo general de FastFix es proporcionar a los desarrolladores un (3 + $ * y $ ' 7--3- ' :*)C.A
9 @ A5 # 1 "23+ '
7)% 1% $ "23+ ' 4 * 03-2 +. ' D * ")% +. '
entorno de mantenimiento en tiempo real que aumente la eficiencia y reduzca : * + # 3- # '

90 * - "2+". PS
los costos, mejorando la precisión en la identificación de las causas de fallas y :; # $ * 6 ' 9 + $ 3) 3.% * # '
: * 15 - * '(3665 +% 1 "23+'
! "# $!% & '()% * + $'
facilitando su resolución. Para lograr este objetivo, FastFix observa la ejecución
de la aplicación y la interacción del usuario en tiempo de ejecución. Damos una
PS ! "# $!% & ': * - 8 * -'
descripción general de la funcionalidad de FastFix y presentamos uno de sus 9 + $ 3) 3.% * # '
: * 15 - * '(3665 +% 1 "23+'

principales escenarios de aplicación.


78 * + $ ' 7--3-'4 * 03- $ ' 7--3- ' <"$ 1 = '
(3 - *) "23+" B + $ * .- "23+ ' 4 * 0)% 1 "23+ ''> * + * -" 23+ '

Palabras clave mantenimiento del software; ingeniería de software sensible


al contexto; correlación de eventos; replicación de fallas; autocuración ? "% + $ * +" + 1 * '
B ## 5 * ', - "1E * -' F * @ 5 .. * - '
7 + 8% -3 + 6 * + $ ''

Yo NTRODUCCIÓN Figura 1. Modelo conceptual FastFix

Los servicios de soporte y mantenimiento de software constituyen un


porcentaje creciente del mercado de software, en particular porque los
II. T ÉL F AST F IX A Cucaracha
modelos de negocio se centran cada vez más en la calidad del producto,
pasando de centrados en licencias a centrados en servicios. El mantenimiento Como se muestra en la Figura 1, FastFix consta de dos componentes

anual de los productos de software supone entre el 15% y el 25% del precio de principales: FastFix cliente que se ejecuta en el entorno de ejecución de la

lista de las licencias de software [1]. Las licencias de software de código abierto aplicación de destino y FastFix servidor

a menudo son incluso gratuitas, mientras que el servicio representa la principal funcionando en el entorno de mantenimiento. El servidor se comunica

fuente de ingresos. con todos los clientes a través de una red. Ambos componentes incluyen

El mantenimiento del software es tedioso, requiere mucho tiempo e subsistemas especializados que interactúan de la siguiente manera.

involucra de manera intensiva a personal altamente calificado. Los estudios han 1) Generación de informes de error: Los informes de errores generalmente

demostrado que los ingenieros de software dedican una cantidad significativa carecen de la información de contexto relevante que necesitan los desarrolladores

de su tiempo a tareas de mantenimiento [5]. Suponiendo un ciclo de vida típico para comprender las condiciones en las que ocurrió el error [7]. FastFix

del software, más del 75% de los costes están asociados al mantenimiento del automáticamente genera informes de error que contienen

software, y se espera que esta tendencia aumente aún más [3]. pertinente información para reproducir y corregir errores. Con este fin,
los sensores FastFix continuamente recopilar información de contexto,

El propósito general de FastFix 1 El proyecto es proporcionar a los incluyendo datos sobre ejecución de la aplicación y la interacción del usuario.

ingenieros de software un entorno de mantenimiento en "tiempo Los sensores están integrados en la aplicación de destino, el entorno
real" que aumente la eficiencia y reduzca el costo total (a) mejorando de ejecución y el sistema operativo.
la precisión en la identificación de las causas de falla y 2) Reproducción de errores: Al registrar los rastros de ejecución,
(b) facilitar su resolución. FastFix incluye una plataforma y un conjunto de FastFix permite determinista reproducción de errores. La
herramientas novedosas para monitorear de forma remota los entornos los rastros son ofuscado antes de enviarlos al entorno de
de los clientes, recopilando información sobre la ejecución de aplicaciones mantenimiento. FastFix vincula un video similar repetición con el
y la interacción del usuario. FastFix correlaciona la información depurador y aumentos es por relevante contexto información,
monitoreada y automáticamente identifica síntomas de errores de como la carga actual de la CPU, las interacciones clave del usuario o
ejecución, degradación del rendimiento o cambios en el comportamiento su nivel de experiencia.
de los usuarios. 3) Detección de problemas y causas: Los desarrolladores suelen correlacionar

Describimos el enfoque FastFix (Sección II) y lo manualmente los síntomas en los informes de error con las causas del error.

demostramos en un escenario específico (Sección III). [6]. FastFix automáticamente identifica patrones de ejecución incorrectos
(síntomas) e infiere problemas probables y sus causas utilizando correlación de
1 www.fast fi xproject.eu eventos y la coincidencia de patrones. Mantenimiento

978-1-4673-1067-3 / 12 / $ 31.00 c©2012 IEEE 1437 ICSE 2012, Zúrich, Suiza


Carteles y demostraciones informales de herramientas
! "# $!% & '()) *)' +, - *) $ C #! "# $% & '() * + (, -" & * .. $ / & + /% / 0% / + 1 y
- 13 (? /. 3 #
'() * T665 (#L? /. \ (? #
PS 2./3&*"#$%&/40//+.&+(%(5(./&6/)+&)*7*% D#
+,, $ -. / 0% 1 #
<] = # T13 (&? / 3 (#? (,%? 3 # ./0-$*0#1'
"%) # 7D 86 (? # E 8-5 F # (13 (? (G # 3 (43 # -13% # H ($ G # F 9 (7 / F #% 1 # I%? J # F6 ( ? @ -. (DK6, FD # LB (# (13 (? (G #
<7 = #>) 6 ( ? @ (#.% 13 (43 #
3 (43 # -6 # E 8-5. &: 7 (; * "<& = (4 * &> / 3 '* 0 / FD ##
W ??%? # Z (,%? 3 # T13 (&? / 0% 1 #

86 (? # - 1,53 # 9D! / 3 /) / 6 (# $% & # 6B% M6 # (??%? # I%? # - 16 (? 3 # 63/3 (J (13C ##


;# ! "# $% & # 6 (16%? #
6 (16%? # <V = # [(1 (? / 3 (#? (,%? 3 # Ejecutando INSERT INTO SERVICES (CATEGORY, NAME) VALUES (?,?) Con DTO:
com.example.model.dto.Service: category = '3', name = 'Bobs Amazing Taxi Service'
<9 = # A5) $ - 6B # (@ (136 # W @ (13 # 2% ?? ($ / 0% 1 # org.postgresql.util.PSQLException: ERROR: valor demasiado largo para el tipo de
carácter variable (10).

2% 13 (43 # "56 # Additiona $ #? Elevant


<: = #! (3 (.3 ## / 0 - $ * 0 # ' : DN / @ / O.? -, 3 # + *. ( 5) / + &% 1 #. $ - (13 # 6-G (D #
información de contexto
;# ! 7 # 87 # 89 #! 9 # 8: #; #
<X = # T1I (? #% ## 6, '
2 * ##% 34, '5 "6 #, # 1'

<Q = # TG (10IS #), 4,7 "8 $ ' 7D! -6 /) $ (G # N / @ / O.?-,3#,?(@(136#-1,53#@/$-G/0%1#<PQR#,?%) /) - $ - 3S = # Priorizado


5 * 8 $, & $ '- 1I%? J / 0% 1 # 9D T1,53 # @ / $ - G / 0% 1 #.% G (# J-66-1 & # - 1 # U 6 ( ? @ -. (DK6, E # <VQR #,?%) /) - $ - 3S = # causas
Contexto relevante Correlación
<Y = #! - / & 1% 6 (# 5 "6 #, ' Enlace al código fuente
información Desencadenar

Figura 2. Escenario de ejemplo: detección de causas y generación de informes de errores en FastFix

el conocimiento se almacena en ontologías. Los resultados de correlación se informan " Nombre "Excedido, JavaScript discapacitado) y dónde ( enlace a
a los ingenieros de mantenimiento para facilitar el diagnóstico de errores. " service.jsp ”) Para arreglar.
4) Generación de parches y autocuración: Desarrollo manual
IV. C ONCLUSIONES
La implementación de pequeños parches requiere mucho tiempo y es compleja
para sistemas de alta disponibilidad [2]. FastFix es capaz de automáticamente
Presentamos FastFix, una plataforma que monitorea de forma remota

generar parches que eliminan problemas específicos mediante el análisis del código
las aplicaciones y sus contextos para identificar síntomas de ejecución

de la aplicación. FastFix evita que se produzcan errores identificados mediante el


incorrecta o degradación del rendimiento. Nuestro enfoque incluye

empleo de mecanismos de supervisión ( actuadores),


correlación de eventos para diagnosticar errores, generación automática

excluyendo rutas de ejecución defectuosas de la aplicación [4]. de informes de errores relevantes, replicación de errores determinista y
de contexto aumentada, generación automática de parches y
III. S AMPLIO A SOLICITUD S Cenario autorreparación en casos específicos.
La Figura 2 muestra un escenario implementado de FastFix.
A AGRADECIMIENTOS
Ilustra cómo FastFix identifica un problema de validación de entrada
FastFix está financiado por el Séptimo Programa Marco de la
en una aplicación web y genera un informe de error que incluye
Comisión Europea, acuerdo de subvención núm. FP7-258109.
información de contexto relevante.
En este escenario, el usuario Beto introduce el nombre de su empresa R EFERENCIAS
" Bobs increíble servicio de taxi "En una aplicación web de intermediación
[1] JB Disbrow y B. Igou. Software de aplicación: Pautas de
de servicios y hace clic en" próximo " botón. La aplicación muestra un mantenimiento y soporte. Investigación de Gartner, 2008.
error " La operacion no pudo ser completada ”. Los sensores FastFix
monitorean continuamente la entrada del usuario, la configuración del [2] S. Dobson, R. Sterritt, P. Nixon y M. Hinchey. Cumpliendo la Visión
de la Computación Autonómica. Computadora IEEE, 43 (1),
navegador y los archivos de registro de la base de datos (1). A partir de los
2010.
valores observados, los sensores crean eventos y los publican en un bus
de contexto común (2). El sistema de correlación de eventos FastFix [3] A. Eastwood. La empresa dispara tiros a los sistemas heredados. Informática
analiza continuamente los patrones de eventos en el bus. Evento " D2 Canadá, 19 (2): 17, 1993.
"Representa un Error de inserción de SQL observado en el registro de la
[4] B. Gaudin, E. Vassev y P. Nixon. Un enfoque basado en la teoría de control para la
base de datos. El sistema de correlación de eventos detecta que esto
autocuración de excepciones en tiempo de ejecución no manejadas. En
coincide con un síntoma crítico (3) de problemas de validación de entrada VIII Congreso Internacional ACM de Computación Autonómica.
( 4). Identifica el anterior entrada del usuario evento, y el evento anterior ACM, 2011.
que representa el configuración del navegador como contexto relevante
[5] W. Maalej y HJ Happel. ¿Puede el trabajo de desarrollo describirse a sí
información para problemas de validación de entrada de aplicaciones web
mismo? En VII Congreso Internacional de Trabajo sobre Repositorios
(5). El sistema de correlación de eventos determina dos posibles de Software Minero. IEEE, 2010.
causas para el problema específico y calcula sus probabilidades en el
contexto dado (6). Solicita la generación del informe de errores [6] A. Zeller. Aislar cadenas de causa-efecto de la computadora
Programas. En X Simposio sobre Fundamentos de la Ingeniería
ilustrado (7), que se inserta automáticamente en el rastreador de
de Software. ACM, 2002.
problemas del equipo de mantenimiento (8). El informe de errores
contiene una descripción del asunto, una lista de prioridades [7] T. Zimmermann, R. Premraj, N. Bettenburg, S. Just,
de su probable causas, y toda la información relevante que necesitan los desarrolladores para A. Schröter y C. Weiss. ¿Qué hace un buen informe de errores?
Transacciones IEEE sobre ingeniería de software, 36 (5), 2010.
encontrar qué ( límite de campo de la base de datos para el campo

1438

También podría gustarte